2016-12-05 10 views
3

Я хотел бы изменить метки на оси x и y на фигуре из holoviews, чтобы быть чем-то иным, чем имя внутренней переменной. Кажется, что типичным способом воздействия на метки осей является изменение самих имен переменных на метку. Это довольно неудобно, если вам нужны сложные метки, особенно если вы часто переходите от других сложных объектов данных, таких как dataframes pandas.Установка меток x и y с головонами

Есть ли общий способ: (A) изменить метки x и y на фигуре или после ее построения или (B) настроить человеческий читаемый псевдоним для имен переменных?

ответ

4

В HoloViews есть действительно псевдонимы размеров, хотя мы должны документировать их лучше. Есть два способа их определения. Вы можете либо поставить кортеж формы (name, label) в качестве измерения, либо явно объявить объект Aliases и указать атрибут. Вот простой пример:

aliases = hv.util.Aliases(x='Some long label') 
hv.Image(np.random.rand(10,10), kdims=[aliases.x, ('y', 'Inline label')]) 

Код зарисовка будет использовать длинную метку, и вы будете иметь возможность ссылаться либо на имя или этикетку при использовании методов объекта. Вы также можете напрямую привязать кортеж к размеру: hv.Dimension(('name', 'label'), range=(0,10)), если вы также хотите определить диапазон или другой параметр Dimension.

+0

Хорошо, спасибо! Есть ли способ трансляции псевдонимов, например, для нескольких объектов, например, для всех элементов в голограмме или макета? Это позволит сэкономить много времени, когда вы строите сложные фигуры. – Caleb

+0

Я забрал ответный флаг, по крайней мере пока, так как это, похоже, не работает, когда я конвертирую в типы holoview из pandas DataFrames. – Caleb

+0

Вы правы, это, похоже, совсем не работает для данных. Я открыл соответствующую проблему, на которую я надеюсь обратиться очень скоро: https://github.com/ioam/holoviews/issues/1001 – philippjfr

1

Вы можете изменить метки оси, или после того, как вы участка фигуру, как это, например

hv.Image(np.random.rand(10,10), kdims=['x','y']).redim.label(x='neXt', y='Ys') 

 Смежные вопросы

  • Нет связанных вопросов^_^