简体   繁体   English

散景中的多行悬停

[英]multi_line hover in bokeh

As in this question: 如这个问题:

Bokeh multi_line and HoverTool 散景multi_line和HoverTool

I found that hovertool is not implemented for multi_line plots which is a bit of a setback. 我发现对于多行绘图未实现hovertool,这有点挫折。 This is mentioned under 'warnings' here: http://docs.bokeh.org/en/0.11.0/docs/reference/models/tools.html#bokeh.models.tools.HoverTool 在此处的“警告”中对此进行了提及: http : //docs.bokeh.org/en/0.11.0/docs/reference/models/tools.html#bokeh.models.tools.HoverTool

Is there any work arounds for this? 有什么解决方法吗? Also, If I were to implement this feature, what would be a good place to start and is there anything specific to be aware of? 另外,如果我要实现此功能,那么什么地方是一个不错的起点,还有什么需要注意的地方? Also, is this feature in the current Bokeh roadmap? 另外,当前的Bokeh路线图中是否有此功能?

As of Bokeh 0.12.4 (earlier, actually but I forget the exact release) the hover tool supports mutli_line : 从Bokeh 0.12.4版本0.12.4 (实际上是之前的版本,但我忘记了确切的版本),悬停工具支持mutli_line

from collections import defaultdict

import numpy as np
from scipy.stats import norm

from bokeh.plotting import show, figure
from bokeh.models import ColumnDataSource, HoverTool
from bokeh.palettes import Viridis6

RT_x = np.linspace(118, 123, num=50)

mass_spec = defaultdict(list)
for scale, mz in [(1.0, 83), (0.9, 55), (0.6, 98), (0.4, 43), (0.2, 39), (0.12, 29)]:
    mass_spec["RT"].append(RT_x)
    mass_spec["RT_intensity"].append(norm(loc=120.4).pdf(RT_x) * scale)
    mass_spec['MZ_tip'].append(mz)
    mass_spec['Intensity_tip'].append(scale)
mass_spec['color'] = Viridis6

source = ColumnDataSource(mass_spec)

p = figure(plot_height=400)
p.multi_line(xs='RT', ys='RT_intensity', legend="Intensity_tip",
             line_width=5, line_color='color', line_alpha=0.6,
             hover_line_color='color', hover_line_alpha=1.0,
             source=source)

p.add_tools(HoverTool(show_arrow=False, line_policy='next', tooltips=[
    ('MZ', '@MZ_tip'),
    ('Rel Intensity', '@Intensity_tip')
]))

show(p)

Which results in 导致

在此处输入图片说明

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM