Holoviews печатает имя для серии Scatter во всплывающей подсказке - PullRequest
0 голосов
/ 25 февраля 2019

Я использую 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
...