Ame*_*_90 7 python holoviews holoviz
我正在使用 Holoviews 构建图表仪表板。其中一些图表在 y 轴上有百分比,而其他图表有总和/计数等。当我尝试将我创建的所有图表输出到 html 文件时,所有图表都会更改它们的 y 轴以匹配第一个图表的轴我的图表列表。
例如:
当我使用以下方法在全息视图中组合这些图表时:
图 2 和图 3 的 y 轴与图 1 相同。
有谁知道为什么会发生这种情况以及我如何解决它,以便所有图表保持其各自的轴与它们试图表示的内容相关。
谢谢!
当 y 轴具有相同名称时会发生这种情况。如果您希望每个图都获得自己独立的 x 轴和 y 轴,则
需要使用选项 axiswise=True。
在holoviews FAQ中有一个对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
Run Code Online (Sandbox Code Playgroud)
或者你可以这样做:
plot1 = hv.Scatter(df1)
plot2 = hv.Scatter(df2)
(plot1 + plot2).opts(opts.Scatter(axiswise=True))
Run Code Online (Sandbox Code Playgroud)
如果在您尝试我的代码示例时这不起作用,您可能需要升级到最新版本的全息视图。这可以按如下方式完成:
安装最新的 git 版本的 Holoviews、hvplot、panel、datashader 和 param