Как управлять положением легенды фигуры Holoviews Holomap?

Я пытаюсь создать фигуру Holomap в holoviews, которая включает легенду в верхней части графика.

Параметр конфигурации «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")

Я думаю, что это как-то связано с тем, что положение легенды не допускается за пределы сюжета в случае с голокартой. Таким образом, ответ на вопрос может быть просто «Это не должно работать». Проблема в том, что для некоторых графиков легенда по умолчанию накладывается на кривые, что затрудняет интерпретацию кривых.


person magum    schedule 11.04.2019    source источник
comment
Вы нашли обходной путь для этого?   -  person Fabzi    schedule 20.08.2019


Ответы (1)


Создал для этого задачу на github:
https://github.com/holoviz/holoviews/issues/4191

Это теперь исправлено в HoloViews 1.13, который является предстоящим выпуском.

Если вы уже хотите иметь последнюю версию HoloViews, вы можете установить ее с помощью:

pip install git+https://github.com/holoviz/holoviews.git

person Sander van den Oord    schedule 05.03.2020