我正在尝试在holoviews中创建一个Holomap图,该图在图的顶部包括图例。

配置选项“legend_position”适用于非全息图(以下为“example1.html”),但不适用于全息图(以下为“example2.html”)。

import pandas as pd
import holoviews as hv

df = pd.DataFrame(dict(x=[1, 2], y1=[0, 1], y2=[1, 0], y3=[0.8, 0.8], y4=[0.2,0.2]))
curve1 = hv.Curve(df, 'x', 'y1', label='curve1').opts(ylabel='y')
curve2 = hv.Curve(df, 'x', 'y2', label='curve2').opts(ylabel='y')
curve3 = hv.Curve(df, 'x', 'y3', label='curve3').opts(ylabel='y')
curve4 = hv.Curve(df, 'x', 'y4', label='curve4').opts(ylabel='y')

cc12 = (curve1 * curve2).opts(legend_position='top')
hv.save(cc12, "example1.html")

cc34 = (curve3 * curve4).opts(legend_position='top')
hm = hv.HoloMap({'a':cc12, 'b':cc34}, kdims=["option"])
hm = hm.opts(legend_position='top')
hv.save(hm, "example2.html")

我认为这与在holomap情况下不允许在图的外部放置图例的位置有关。因此,问题的答案可能只是“它不起作用”。问题在于,对于某些图,默认图例与曲线重叠,从而使曲线难以解释。

最佳答案

为此创建了一个github问题:
https://github.com/holoviz/holoviews/issues/4191

现在已在即将发布的HoloViews 1.13 中修复了

如果您已经想要最新版本的HoloViews,则可以使用以下方法进行安装:

08-17 14:24