【问题标题】:RangeTool update on event in bokehRangeTool 更新散景中的事件
【发布时间】:2019-10-20 07:12:22
【问题描述】:

我正在尝试使用散景应用程序从绘图中计算给定数据范围的一些统计数据。为了选择我使用 RangeTool 的范围。但是我找不到检测事件的方法。我以这个例子为基础:

https://docs.bokeh.org/en/latest/docs/gallery/range_tool.html

然后我尝试了:

def func():
    print(range_rool._property_values['x_range'].start)
    return 
def func_e(event):
    print('event detected')
    return

range_rool.on_event(ButtonClick,func_e)
range_rool.on_event(Press,func)    
range_rool.on_change("x_range",func)

但是当我移动滑块时,我看不到任何区别。任何想法都非常受欢迎。谢谢

【问题讨论】:

    标签: slider bokeh


    【解决方案1】:

    RangeTool 更新其配置的范围,您可以(并且应该)在范围本身上添加回调,例如:

    range_tool.x_range.on_change('start', ...)
    

    关于您拥有的range_rool.on_change("x_range",func) 行,值得解释的是,当范围对象本身被批量替换时,即指示 Bokeh 运行 func,即

    range_tool.x_range = some_new_Range1d
    

    会触发该回调。但是该范围通常不会像那样被替换。相反,单个范围的 startend 值会随时间更新。

    另外,顺便说一句,访问_properties 根本没有任何正当理由。它是一个私有 API,随时可能更改。

    【讨论】:

    • 非常感谢!
    猜你喜欢
    • 2019-11-13
    • 1970-01-01
    • 2019-06-23
    • 1970-01-01
    • 1970-01-01
    • 2021-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多