【问题标题】:Bokeh EditTools callback to serverBokeh EditTools 回调到服务器
【发布时间】:2018-02-12 09:48:27
【问题描述】:

我正在尝试了解如何为新的 Bokeh EditTools 使用回调(例如 BoxEditTool 或类似的)。 具体来说,我想在服务器端查看新添加的矩形的坐标,但我不知道该怎么做。

我正在运行以下服务器应用程序

def app( curdoc ):
    TOOLS = "tap"
    p = figure(title="Some Figure", tools=TOOLS)
    source = ColumnDataSource( {'xs':[1], 'ys':[1], 'width':[.1],'height':[.1]})
    r = p.rect('xs','ys','width','height', source=source)
    p.add_tools(BoxEditTool( renderers = [r]))
    def cb( attr, old, new ):
        print(r.data_source.data)
    r.data_source.on_change("selected", cb)
    curdoc.add_root(column(p))

当我选择不同的矩形时,我确实从 cb 打印输出,但 r.data_source.data 没有改变

感谢您的帮助!

【问题讨论】:

    标签: bokeh


    【解决方案1】:

    您所描述的行为实际上是 Bokeh (0.13.0) 当前发行版中的一个错误。您可以在the google groups discussion 阅读更多内容。总结一下,服务器端的数据同步有问题,已经解决并合并。

    请注意,Rect 字形 ColumnDataSource 的 on_change 方法应该观察“数据”属性,而不是“选择”。

    除此之外,您的 sn-p 看起来不错,但如果您想要一个工作示例,您可以查看 here。此代码正在开发中,但在此阶段它会读取图像并允许绘制 ROI,以及用于序列化和加载它们的简单机制。

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 2018-10-19
      • 1970-01-01
      • 2017-10-05
      • 2019-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多