Bokeh是否有类似Plotly Spike Lines的工具?能否固定Crosshair?
Bokeh中类似Plotly Spike Lines的工具及Crosshair固定方法
类似Spike Lines的工具:Bokeh里的
CrosshairTool和Plotly的Spike Lines功能高度相似,鼠标悬停时会显示贯穿绘图区域的水平、垂直参考线。如果需要更灵活的效果,还可以结合HoverTool与自定义JavaScript回调,或者用Span组件实现类似的参考线功能。固定Crosshair的实现方式:默认的
CrosshairTool是跟随鼠标移动的,无法直接设置固定。但可以通过两种方式实现固定十字线的效果:- 使用
Span组件:直接创建固定位置的水平和垂直参考线,添加到图表中即可。示例代码如下:from bokeh.models import Span from bokeh.plotting import figure, show # 创建图表 p = figure(x_range=(1, 4), y_range=(1, 4)) p.line([1, 2, 3, 4], [2, 4, 1, 3]) # 固定垂直参考线 vertical_span = Span(location=2.5, dimension='height', line_color='blue', line_width=1, line_dash='dashed') # 固定水平参考线 horizontal_span = Span(location=2.5, dimension='width', line_color='blue', line_width=1, line_dash='dashed') p.add_layout(vertical_span) p.add_layout(horizontal_span) show(p) - 自定义交互固定:如果需要通过点击等操作来固定Crosshair位置,可以编写JS回调,记录鼠标点击时的坐标,然后更新
Span的位置来替代动态的Crosshair。
- 使用
内容的提问来源于stack exchange,提问作者nico
相关产品推荐
相关产品推荐

