Наведите курсор только на выбранные строки с боке - PullRequest
0 голосов
/ 22 сентября 2018

Я пытаюсь выбрать строку, для которой появляется мое наведение в режиме vline.

Вот пример (взят из этого вопроса SO ):

days = ['2018/1/1', '2018/1/2', '2018/1/3', '2018/1/4', '2018/1/5']
data_a = [10, 34, 23, 14, 58]
data_b = [20, 13, 45, 98, 65]
data_c = [20, 23, 43, 76, 57]
df_plot = pd.DataFrame({'A': data_a, 'B': data_b, 'C': data_c}, index=days)
df_plot['dates'] = pd.to_datetime(df_plot.index, format='%Y/%m/%d')
source = ColumnDataSource(df_plot)
p = figure(x_axis_type="datetime")
p.line('dates', 'A', source=source, color='red')
p.line('dates', 'B', source=source, color='blue')
p.line('dates', 'C', source=source, color='green')
p.add_tools(HoverTool(tooltips=[("A", "@A"), ("B", "@B"), ("C", "@C")],mode = "vline"))
show(p)

enter image description here

Для всех линий появляется всплывающее окно с изображением. Как это сделать, если я хочу навести курсор только на красную линию?

1 Ответ

0 голосов
/ 22 сентября 2018

Если я правильно понял, вы можете установить атрибут renderers для HoverTool

Так попробуйте это:

red_renderer_line = p.line('dates', 'A', source=source, color='red')
p.line('dates', 'B', source=source, color='blue')
p.line('dates', 'C', source=source, color='green')
p.add_tools(
    HoverTool(
        tooltips=[("A", "@A"), ("B", "@B"), ("C", "@C")],mode = "vline"
        renderers=[red_renderer_line]
    )
)
...