散景:数据表和点击工具不能一起使用

时间:2018-11-07 21:24:52

标签: python bokeh

同时使用bokeh的TapTool和DataTable时,我遇到以下问题:

单击一个点(使用了TapTool)后,数据表中的选择不再显示在图中。

以下是Jupyter笔记本的最小示例:

from bokeh.plotting import show, output_notebook, figure
from bokeh.models import ColumnDataSource, OpenURL, TapTool
from bokeh.layouts import widgetbox, column
from bokeh.models.widgets import DataTable, TableColumn

source = ColumnDataSource(dict(
            x=[1, 2, 3, 4, 5],
            y=[6, 7, 2, 4, 5],
            url=["http://www.stackoverflow.com"]*5))

p = figure(plot_width=400, 
           plot_height=400,
          tools="tap,reset",
          )

p.circle(source=source, 
         x="x", 
         y="y", 
         size=20, 
         color="navy", 
         alpha=0.5)


columns = [
    TableColumn(field="x", title="X-Value"),
    TableColumn(field="y", title="Y-Value"),
    TableColumn(field="url", title="URL")
]
data_table = DataTable(source=source, columns=columns,
                      width=400, height=400)


url = "@url"
taptool = p.select(type=TapTool)
taptool.callback = OpenURL(url=url)

output_notebook()
show(column(p, widgetbox(data_table)))

预期的行为:从数据表中选择的内容会像在单击一个点之前一样在图中表示出来。

谢谢大家。

1 个答案:

答案 0 :(得分:0)

问题解决了。这是散景0.13中的一个问题 使用anaconda时,我无法更新到1.0.1,所以我创建了一个新环境,其中bokeh可以是1.0.1,这个问题不再存在。