使用全息视图设置 x 和 y 标签
Setting x and y labels with holoviews
我想将全息视图中图形的 x 轴和 y 轴上的标签更改为内部变量名称以外的其他名称。似乎影响轴标签的典型方法是将变量名称本身更改为标签。如果您需要复杂的标签,这会很不方便,尤其是当您经常从其他复杂数据对象(如 pandas 数据帧)转换时。
是否有通用方法:(A) 在绘制图形时或绘制图形后更改图形的 x 和 y 标签,或者 (B) 为变量名称设置人类可读的别名?
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
参数。
例如,您可以在绘制这样的图形时或之后更改轴标签
hv.Image(np.random.rand(10,10), kdims=['x','y']).redim.label(x='neXt', y='Ys')
编辑:
在早期版本的 HoloViews 中,您可以像这样轻松更改轴标签,请查看 Holoviews FAQ
上的第二个答案
curve = hv.Curve(df, 'x_col', 'y_col')
curve = curve.options(xlabel='X Label', ylabel='Label for Y')
您可以更改 x 和 y 标签,方法是提供列名元组和您希望显示的较长标签:
import numpy as np
import pandas as pd
import holoviews as hv
hv.extension()
data = np.random.normal(size=[50, 2])
df = pd.DataFrame(data, columns=['col1', 'col2'])
hv.Points(
df,
kdims=[('col1', 'long label of col1'), ('col2', 'long label of col2')]
)
其他选项在这个问题中:
这导致以下情节:
我想将全息视图中图形的 x 轴和 y 轴上的标签更改为内部变量名称以外的其他名称。似乎影响轴标签的典型方法是将变量名称本身更改为标签。如果您需要复杂的标签,这会很不方便,尤其是当您经常从其他复杂数据对象(如 pandas 数据帧)转换时。
是否有通用方法:(A) 在绘制图形时或绘制图形后更改图形的 x 和 y 标签,或者 (B) 为变量名称设置人类可读的别名?
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
参数。
例如,您可以在绘制这样的图形时或之后更改轴标签
hv.Image(np.random.rand(10,10), kdims=['x','y']).redim.label(x='neXt', y='Ys')
编辑: 在早期版本的 HoloViews 中,您可以像这样轻松更改轴标签,请查看 Holoviews FAQ
上的第二个答案curve = hv.Curve(df, 'x_col', 'y_col')
curve = curve.options(xlabel='X Label', ylabel='Label for Y')
您可以更改 x 和 y 标签,方法是提供列名元组和您希望显示的较长标签:
import numpy as np
import pandas as pd
import holoviews as hv
hv.extension()
data = np.random.normal(size=[50, 2])
df = pd.DataFrame(data, columns=['col1', 'col2'])
hv.Points(
df,
kdims=[('col1', 'long label of col1'), ('col2', 'long label of col2')]
)
其他选项在这个问题中:
这导致以下情节: