我正在尝试根据堆叠图表上的数据创建自定义悬停。在下面的示例中,如果用户将鼠标悬停在“cat1”上,则应返回“cat1\u text”;对于“cat2”和“cat3”,应相应地返回“cat2\u text”和“cat3\u text”。你知道吗
对于工具提示,由于$name将返回'cat1'、'cat2'或'cat3',我认为通过添加'\u text',将相应地调用该值(当然,这似乎不是python/bokeh的工作方式)。我也在考虑使用任何函数/索引调用,但不太确定如何这样做。好心的建议。非常感谢!你知道吗
category = ['cat1', 'cat2', 'cat3']
data = {'timeVal' : [0,1,2,3,4,5],
'cat1' : [2, 1, 4, 3, 2, 4],
'cat2' : [5, 3, 4, 2, 4, 6],
'cat3' : [3, 2, 4, 4, 5, 3],
'cat1_text' : ['a','b','c','d','e','f'],
'cat2_text' : ['a1','b1','c1','d1','e1','f1'],
'cat3_text' : ['a2','b2','c2','d2','e2','f2'],
}
toolTipArr = [
("name", "$name"),
("count", "@$name"),
("info", '@'+'$name'+'_text}')
]
p = figure(x_range=(startTime,endTime), plot_height=250, plot_width=1000, title="project",
toolbar_location="right", tools="hover,pan,wheel_zoom,box_zoom,reset",
tooltips=toolTipArr)
p.vbar_stack(category, x='timeVal', width=2, color=colors, source=data,
legend=[value(x) for x in category])
这是bigreddot使用
CustomJSHover
(适用于bokehv1.3.0)建议的实现:再努力一点,就可以使用CustomJS回调(bokehv1.3.0)实现同样的效果:
$name
和@$name
是在任何其他文本操作之前首先计算的,所以这就是为什么上面的方法不起作用的原因。您需要使用^{相关问题 更多 >
编程相关推荐