如何通过将其悬停在Bokeh中的不同字形上来更改字形组的颜色?或者显示描绘这种关系的线条

问题描述 投票:1回答:1

我有以下情节

enter image description here

运用

from bokeh.layouts import gridplot
from bokeh.models import ColumnDataSource, CDSView, IndexFilter
from bokeh.plotting import figure, show
from bokeh.io import curdoc, output_notebook, output_file, export_png
from bokeh.models import (
  ColumnDataSource, Circle, Square, HoverTool,Grid, TapTool,PanTool, WheelZoomTool, BoxSelectTool,ZoomInTool, ZoomOutTool, CDSView, GroupFilter)

curdoc().clear()
output_notebook()

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

p = figure(plot_height=300, plot_width=300, tools="pan,wheel_zoom,box_zoom,reset,zoom_in,zoom_out,save")
circle = Circle(x="x", y="y", size=10)

square = Square(x="x", y="y", size=10)
hover_square = Square(x="x", y="y", size=10, fill_color="red")

c = p.add_glyph(source1, circle)
s = p.add_glyph(source2, square, hover_glyph=hover_square)

c_hover = HoverTool(renderers=[c,s], tooltips=[('x', '@x')])
p.add_tools(c_hover)

show(p)

当我悬停在底部正方形时,我想改变底部三个圆圈的颜色,当顶部正方形悬停在上面时,我想要改变前面两个圆圈的颜色?假设我有一个数据框来识别这种关系。

有没有办法在Bokeh中做到这一点?

如果我还可以显示从正方形到圆形的线条,只有当我悬停在正方形上时,才会更好。

python bokeh
1个回答
0
投票

您可以使用CustomJS for Hover更新其他字形的属性,例如颜色或可见性。

© www.soinside.com 2019 - 2024. All rights reserved.