要在Bokeh服务器上使用Tap工具来更改图形的颜色,可以按照以下步骤进行操作:
from bokeh.plotting import figure, curdoc
from bokeh.models import TapTool, Circle, CustomJS
from bokeh.layouts import column
p = figure(width=400, height=400, tools='tap')
circle = Circle(x=0, y=0, size=50, fill_color='blue')
renderer = p.add_glyph(circle)
callback = CustomJS(args=dict(renderer=renderer), code="""
renderer.glyph.fill_color = 'red';
""")
tap_tool = TapTool(callback=callback)
p.tools.append(tap_tool)
layout = column(p)
curdoc().add_root(layout)
curdoc().title = "Bokeh Server - Change Color on Tap"
完整的示例代码如下所示:
from bokeh.plotting import figure, curdoc
from bokeh.models import TapTool, Circle, CustomJS
from bokeh.layouts import column
p = figure(width=400, height=400, tools='tap')
circle = Circle(x=0, y=0, size=50, fill_color='blue')
renderer = p.add_glyph(circle)
callback = CustomJS(args=dict(renderer=renderer), code="""
renderer.glyph.fill_color = 'red';
""")
tap_tool = TapTool(callback=callback)
p.tools.append(tap_tool)
layout = column(p)
curdoc().add_root(layout)
curdoc().title = "Bokeh Server - Change Color on Tap"
保存代码为app.py
文件,并使用以下命令来运行Bokeh服务器:
bokeh serve app.py
在浏览器中访问http://localhost:5006/
,您将看到一个具有蓝色圆的图形。单击圆形时,颜色将更改为红色。