ブロック間の関連相互作用を増加させるために、ブロックをリンクすることは、一般に有用である。本節では,|boke.ploting|インタフェースを用いてこの操作を実行する簡単な方法を紹介する.
一般に、複数の描画リンクにわたって平行移動またはズーム操作が必要となる。この機能を有効にするためには,範囲オブジェクトを間で共有するだけでよい figure() 電話します。
figure()
from bokeh.io import output_file, show from bokeh.layouts import gridplot from bokeh.plotting import figure output_file("panning.html") x = list(range(11)) y0 = x y1 = [10-xx for xx in x] y2 = [abs(xx-5) for xx in x] # create a new plot s1 = figure(plot_width=250, plot_height=250, title=None) s1.circle(x, y0, size=10, color="navy", alpha=0.5) # create a new plot and share both ranges s2 = figure(plot_width=250, plot_height=250, x_range=s1.x_range, y_range=s1.y_range, title=None) s2.triangle(x, y1, size=10, color="firebrick", alpha=0.5) # create a new plot and share only one range s3 = figure(plot_width=250, plot_height=250, x_range=s1.x_range, title=None) s3.square(x, y2, size=10, color="olive", alpha=0.5) p = gridplot([[s1, s2, s3]], toolbar_location=None) # show the results show(p)
現在、|boke.ploting|インタフェースリンクを使用して複数の描画間の平行移動をどのように使用するかがわかりました。
Bokehにおけるリンクブラシは,字形レンダラ間でデータソースを共有することで表される.これは,Bokehが理解すべきすべての内容,すなわち1つのアスペクトに作用する選択が同一のソースを共有するすべての他のフォントに渡さなければならないことである.リンク選択がデータソース内のデータサブセットのみを描画するフォントレンダラにどのように拡張されているかを見るには、参照されたい。 フィルタリングされたデータ付きリンク選択 それがそうです。
次のコードは、2つの異なる円形マーク記号間のリンクブラシの例を示す figure() 電話します。
from bokeh.io import output_file, show from bokeh.layouts import gridplot from bokeh.models import ColumnDataSource from bokeh.plotting import figure output_file("brushing.html") x = list(range(-20, 21)) y0 = [abs(xx) for xx in x] y1 = [xx**2 for xx in x] # create a column data source for the plots to share source = ColumnDataSource(data=dict(x=x, y0=y0, y1=y1)) TOOLS = "box_select,lasso_select,help" # create a new plot and add a renderer left = figure(tools=TOOLS, plot_width=300, plot_height=300, title=None) left.circle('x', 'y0', source=source) # create another new plot and add a renderer right = figure(tools=TOOLS, plot_width=300, plot_height=300, title=None) right.circle('x', 'y1', source=source) p = gridplot([[left, right]]) show(p)
また,Bokehモデル属性の値を同期を保つようにリンクすることも可能である. js_link 方法です。以下の例では、円形フラグ記号半径をSlider部材の値にリンクする。
js_link
from bokeh.layouts import column from bokeh.models import Slider from bokeh.plotting import figure, show plot = figure(plot_width=400, plot_height=400) r = plot.circle([1,2,3,4,5,], [3,2,5,6,4], radius=0.2, alpha=0.5) slider = Slider(start=0.1, end=2, step=0.01, value=0.2) slider.js_link('value', r.glyph, 'radius') show(column(plot, slider))
リンクはJavaScriptで作成されているため,この手法は独立したBokeh文書やBokehサーバアプリケーションに適している.
見 小さな部品を追加する 様々な小さな部品に関するより多くの情報や JavaScriptコールバック 任意のJavaScriptコールバックの作成に関するより多くの情報を作成します。