悬停工具提示,在holoviews中具有堆积的面积图

时间:2019-06-11 15:17:08

标签: python holoviews

我正在使用bokeh后端在holoviews中创建堆积面积图,类似于此处的示例: http://holoviews.org/reference/elements/matplotlib/Area.html

我希望有一个悬停工具提示,但是如果将其添加到代码中,结果图表将显示悬停十字形,但工具提示中将不显示任何数据。

我的代码:

import holoviews as hv
values = np.random.rand(5, 20)
percentages = (values/values.sum(axis=0)).T*100

overlay = hv.Overlay([hv.Area(percentages[:, i], vdims=[hv.Dimension('value', unit='%')]).opts(tools=["hover"]) for i in range(5)])
stackA =  hv.Area.stack(overlay)

我还尝试将悬停选项放在hv.Stack步骤中:

stackA =  hv.Area.stack(overlay).opts(tools=["hover"])

但这什么都不做。

我希望悬停工具提示显示光标下方的面积值以及数据集的其他尺寸。

1 个答案:

答案 0 :(得分:1)

这是一个已知问题:https://github.com/pyviz/holoviews/issues/3187。这对Spread元素同样有效。

原因是(我猜)是bokeh没有用于Patch的悬浮工具,它是用于渲染Area和Spread元素的字形:https://stackoverflow.com/a/53384398。因此,目前最好的选择可能是尝试实现holoviews/plotting/bokeh/chart.py中该stackoverflow答案中提出的矢量化解决方法。