gpt4 book ai didi

python - 在 Bokeh 图中添加可点击的圆圈

转载 作者:行者123 更新时间:2023-11-28 17:08:18 26 4
gpt4 key购买 nike

我正在尝试向绘制在 Bokeh 图上的圆圈添加某些回调。每个圆圈都与列数据源中的特定记录相关联。每当单击相应的圆圈时,我都想访问该记录。有什么方法可以在 Bokeh 中向圆圈添加回调?我该怎么做?

我正在使用以下代码

fig =figure(x_range=(-bound, bound), y_range=(-bound, bound),
plot_width=800, plot_height=500,output_backend="webgl")

fig.circle(x='longitude',y='latitude',size=2,source=source,fill_color="blue",
fill_alpha=1, line_color=None)

最佳答案

然后您要向数据源的selected 属性添加一个on_change 回调。这是一个最小的例子。如上所述,python 回调需要 Bokeh 服务器(这是 python 回调实际运行的地方,因为浏览器对 python 一无所知),所以这必须运行,例如bokeh serve --show example.py(或者,如果您在笔记本中,请遵循 this example notebook 中的模式)。

# example.py

from bokeh.io import curdoc
from bokeh.models import ColumnDataSource
from bokeh.plotting import figure

source = ColumnDataSource(data=dict(x=[1,2,3], y=[4,6,5]))

p = figure(title="select a circle", tools="tap")
p.circle('x', 'y', size=25, source=source)

def callback(attr, old, new):
# This uses syntax for Bokeh >= 0.13
print("Indices of selected circles: ", source.selected.indices)

source.selected.on_change('indices', callback)

curdoc().add_root(p)

关于python - 在 Bokeh 图中添加可点击的圆圈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49613528/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com