ボケ-レイアウト

ボケの視覚化は、さまざまなレイアウトオプションで適切に配置できます。これらのレイアウトとサイズ設定モードにより、ブラウザウィンドウのサイズに応じてプロットとウィジェットのサイズが自動的に変更されます。一貫した外観を得るには、レイアウト内のすべてのアイテムが同じサイズ設定モードである必要があります。ウィジェット(ボタン、メニューなど)は、プロット図ではなく、別のウィジェットボックスに保持されます。

最初のタイプのレイアウトは、プロット図を垂直に表示する列レイアウトです。ザ・column() function で定義されています bokeh.layouts モジュールと次の署名を取る-

from bokeh.layouts import column
col = column(children, sizing_mode)

children −プロットおよび/またはウィジェットのリスト。

sizing_mode−レイアウト内のアイテムのサイズ変更方法を決定します。可能な値は、「fixed」、「stretch_both」、「scale_width」、「scale_height」、「scale_both」です。デフォルトは「固定」です。

次のコードは、2つのボケ図形を生成し、それらを縦に表示されるように列レイアウトに配置します。xとyのデータ系列間の正弦と余弦の関係を表すライングリフが各図に表示されます。

from bokeh.plotting import figure, output_file, show
from bokeh.layouts import column
import numpy as np
import math
x = np.arange(0, math.pi*2, 0.05)
y1 = np.sin(x)
y2 = np.cos(x)
fig1 = figure(plot_width = 200, plot_height = 200)
fig1.line(x, y1,line_width = 2, line_color = 'blue')
fig2 = figure(plot_width = 200, plot_height = 200)
fig2.line(x, y2,line_width = 2, line_color = 'red')
c = column(children = [fig1, fig2], sizing_mode = 'stretch_both')
show(c)

出力

同様に、行レイアウトはプロットを水平に配置します。 row() functionbokeh.layoutsモジュールで定義されているように使用されます。ご想像のとおり、2つの引数も必要です(column() function)–子とsizing_mode。

上の図に垂直に示されている正弦曲線と余弦曲線は、次のコードを使用して行レイアウトで水平に表示されます。

from bokeh.plotting import figure, output_file, show
from bokeh.layouts import row
import numpy as np
import math
x = np.arange(0, math.pi*2, 0.05)
y1 = np.sin(x)
y2 = np.cos(x)
fig1 = figure(plot_width = 200, plot_height = 200)
fig1.line(x, y1,line_width = 2, line_color = 'blue')
fig2 = figure(plot_width = 200, plot_height = 200)
fig2.line(x, y2,line_width = 2, line_color = 'red')
r = row(children = [fig1, fig2], sizing_mode = 'stretch_both')
show(r)

出力

Bokehパッケージにもグリッドレイアウトがあります。行と列の2次元グリッドに複数のプロット図(およびウィジェット)を保持します。ザ・gridplot() function bokeh.layoutsモジュールでは、toolbar_locationプロパティを使用して配置できるグリッドと単一の統合ツールバーが返されます。

これは、各プロットに独自のツールバーが表示される行または列のレイアウトとは異なります。grid()関数も、子とsizing_modeパラメーターを使用します。ここで、子はリストのリストです。各サブリストが同じ次元であることを確認してください。

次のコードでは、xデータセットとyデータシリーズの間の4つの異なる関係が、2行2列のグリッドにプロットされています。

from bokeh.plotting import figure, output_file, show
from bokeh.layouts import gridplot
import math
x = list(range(1,11))

y1 = x
y2 =[11-i for i in x]
y3 = [i*i for i in x]
y4 = [math.log10(i) for i in x]

fig1 = figure(plot_width = 200, plot_height = 200)
fig1.line(x, y1,line_width = 2, line_color = 'blue')
fig2 = figure(plot_width = 200, plot_height = 200)
fig2.circle(x, y2,size = 10, color = 'green')
fig3 = figure(plot_width = 200, plot_height = 200)
fig3.circle(x,y3, size = 10, color = 'grey')
fig4 = figure(plot_width = 200, plot_height = 200, y_axis_type = 'log')
fig4.line(x,y4, line_width = 2, line_color = 'red')
grid = gridplot(children = [[fig1, fig2], [fig3,fig4]], sizing_mode = 'stretch_both')
show(grid)

出力