Holoviews图表共享并输出时共享轴
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Holoviews图表共享并输出时共享轴相关的知识,希望对你有一定的参考价值。
我正在使用holoviews构建图表的仪表板,其中一些图表在Y轴上具有百分比,而其他图表则具有总和/计数等。当我尝试将所有创建的图表输出到html文件时,所有图表都会更改其y轴以匹配我的图表列表中第一个图表的轴。
例如:
- 图1是一个和,值从0到1000
- 图2为%
- 图3是%
当我使用以下方法将这些图表合并到全息视图中时:
- 图表=图表1 +图表2 +图表3
图表2和3的y轴与图表1相同
没有人知道为什么会这样以及如何解决这个问题,因此所有图表均使其各自的轴与他们要代表的内容相关。
谢谢!
答案
您需要使用选项axiswise = True如果希望每个图都有其独立的x轴和y轴。在holoviews常见问题解答中有一个简短的关于axiswise的参考:https://www.holoviews.org/FAQ.html这是我检查并可以正常运行的代码示例:
# import libraries etc.
import numpy as np
import pandas as pd
import holoviews as hv
from holoviews import opts
hv.extension('bokeh')
# create some sample data
df1 = pd.DataFrame({
'x': np.random.rand(10),
'y': np.random.rand(10),
})
df2 = pd.DataFrame({
'x': np.random.rand(10) * 10,
'y': np.random.rand(10) * 10,
})
# set axiswise=True so that every plot gets its own independent x- and y-axis
plot1 = hv.Scatter(df1).opts(axiswise=True)
plot2 = hv.Scatter(df2).opts(axiswise=True)
plot1 + plot2
或者您也可以这样做:plot1 = hv.Scatter(df1)
plot2 = hv.Scatter(df2)
(plot1 + plot2).opts(opts.Scatter(axiswise=True))
尝试我的代码示例时,
如果不起作用,
您可能必须升级
到最新版本的holoviews。可以按照以下步骤进行:Install the latest git versions of holoviews, hvplot, panel, datashader and param以上是关于Holoviews图表共享并输出时共享轴的主要内容,如果未能解决你的问题,请参考以下文章