HoverTool是Bokeh中的一个工具,用于在鼠标悬停时显示数据点的信息。要使用HoverTool,首先需要导入HoverTool类,然后将其添加到图形对象的tools属性中。接下来,可以通过传递一个Tooltip对象来自定义悬停时显示的内容。
下面是一个示例代码,演示了如何使用HoverTool并自定义显示内容:
from bokeh.plotting import figure, show
from bokeh.models import HoverTool, ColumnDataSource
# 创建一个数据源
data = {'x': [1, 2, 3, 4, 5],
'y': [6, 7, 2, 4, 5],
'label': ['A', 'B', 'C', 'D', 'E']}
source = ColumnDataSource(data)
# 创建一个图形对象
p = figure(x_axis_label='X', y_axis_label='Y')
# 绘制散点图
p.circle(x='x', y='y', size=10, source=source)
# 创建一个HoverTool,并设置显示内容
hover = HoverTool(tooltips=[('Label', '@label'), ('Value', '($x, $y)')])
p.add_tools(hover)
# 显示图形
show(p)
在上面的代码中,我们首先创建了一个数据源,并使用ColumnDataSource将数据传递给图形对象。然后创建一个散点图,并使用HoverTool设置了悬停时显示的内容,包括’label’和’($x, $y)'。最后将HoverTool添加到图形对象中,并显示图形。
当悬停在散点上时,将显示对应数据点的’label’和坐标值。可以根据实际需求自定义显示内容,比如添加更多的字段或格式化数据。