私はPythonでちょっと新しく、現在複数の関連するチャートを表示する必要があるBokehを使用した対話的なプロットの視覚化に取り組んでいます。これを達成するために私はbokehサーバーを使用しています。ツールからのBokehサーバーコールバック
私はドキュメントとsome examplesを読んできましたが、プロットの選択によってトリガされたpythonコールバック(サーバーで実行された)の例は見つかりませんでした。
from bokeh.plotting import figure, curdoc
from bokeh.layouts import column
from bokeh.models import ColumnDataSource
TOOLS = "tap"
p = figure(title="Some Figure", tools=TOOLS)
source = ColumnDataSource(dict(x=[[1, 3, 2], [3, 4, 6, 6]], y=[[2, 1, 4], [4, 7, 8, 5]], name=['A', 'B']))
p.patches('x', 'y', source=source, color=["firebrick", "navy"], alpha=[0.8, 0.3], line_width=2)
def callback():
print("TapTool callback executed on Patch {}")
??? <- some code here linking the taptool with the callback function defined above
curdoc().add_root(column(p))
し、サーバーを実行してパッチをクリック:
2017年2月14日16:32:0万TapToolコールバックが上の実行基本的に私は何をしたいのようなものですパッチA
この動作はbokehで実現できますか?次のように
偉大な実行時のエラーを得ました! finnallyそれが働いて、ありがとうございました。新しい['1d'] ['indices'] [0]が選択されたグリフのインデックスであることをどのように推測しますか? –
さて、私は今この事を学んでいるので、多くの試行錯誤があり、bokeh GitHubリポジトリの例を調べています。この特定のケースでは、デバッグ中に変数を出力するのに役立ちました。 'print new' –