全息视图中带有堆叠面积图的悬停工具提示

Hover tooltip with stacked Area chart in 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"])

但这没有任何作用。

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

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

原因是(我的猜测)bokeh 没有用于 Patch 的 hovertool,它是用于渲染 Area 和 Spread 元素的字形:。因此,目前您最好的选择可能是尝试实施 holoviews/plotting/bokeh/chart.py.

中 Whosebug 答案中提出的矢量化解决方法