我需要在python中使用bokeh的帮助。我想使用悬停工具在交互式点图中显示两个变量。但是,我得到“ ???”而不是变量的值。因此,例如,我希望显示类型变量,而不是狗,猫,鸟等...显示“ ???”当我将鼠标悬停在点上时显示。
from bokeh.plotting import figure, show, output_notebook
from bokeh.tile_providers import get_provider, Vendors
get_provider(Vendors.CARTODBPOSITRON)
from bokeh.models import ColumnDataSource, HoverTool
source = ColumnDataSource(data=dict(
x=list(Pet_Data['Latitude']),
y=list(Pet_Data['Longitude']),
Type=list(Pet_Data['Type']),
Age=list(Pet_Data['Age'])))
hover = HoverTool(tooltips=[
("Age", "@Age"),
("Type","@Type")
])
p = figure(x_axis_type="mercator",
y_axis_type="mercator",
tools=[hover, 'wheel_zoom','save'])
p.add_tile(CARTODBPOSITRON)
p.circle(x='Age',
y='Type',
source=source,
size=2,
line_color="#FF0000",
fill_color="#FF0000",
fill_alpha=0.05)
output_notebook()
show(p)
@Age
表示“显示ColumnDataSource
中“年龄”列中的值。从上方看,您的数据源中没有任何名为“年龄”(或“类型”)的列。(您具有“ x”,“ y”,“ name”和“ inspection”等。)如果要在悬停工具中使用这些列,则需要将它们添加到数据源中。