Я использую holoviews с боке, чтобы отобразить набор графиков рассеяния.Я хочу отобразить название каждой серии в настраиваемой всплывающей подсказке.В обычном боке вы должны использовать специальный ярлык $ name .Я не уверен, как этого добиться с помощью holoviews.
В приведенном ниже примере кода создаются 3 графика рассеяния и отображаются их (при условии, что вы выполняете работу из блокнота Jupyter).Он также определяет пользовательскую подсказку, которая должна отображать имя объекта разброса и координаты точки, над которой находится указатель.Имена определяются в вызовах hv.Scatter () .На практике координаты x & y отображаются, но поле Имя / $ name просто ??? .
Я не думаю, что $Поле name передается от объекта holoviews бэкэнду bokeh.Есть ли кто-нибудь, кто знает, как это исправить?
import numpy as np
import holoviews as hv
from bokeh.models import HoverTool
hv.extension('bokeh')
# Custom tooltip
hover = HoverTool(tooltips=[("Name", "$name"),('x','$x'),('y','$y')])
# Define some data
x = np.linspace(0, 4*np.pi, 100)
y = np.sin(x)
# Make scatter plots and give them names
scatter1 = hv.Scatter((x, y), label='sin(x)',name='scatter1')
scatter2 = hv.Scatter((x, y*2), label='2*sin(x)',name='scatter2')
scatter3 = hv.Scatter((x, y*3), label='3*sin(x)',name='scatter3')
# Setup options for plotting Scatters, including custom tooltip
scatter_opts = hv.Options('Scatter',height=500, width=600, tools=[hover])
# Create an overlay of all 3 curves
example1 = scatter1 * scatter2.opts(style=dict(color='orange')) * scatter3.opts(style=dict(color='green'))
# Plot the overlay with the custom options
example1.opts(scatter_opts)
# Hover over points to see the tooltips