gpt4 book ai didi

python - 用于使用 Datashader/Holoviews/Bokeh 循环子图

转载 作者:行者123 更新时间:2023-12-01 08:24:33 26 4
gpt4 key购买 nike

使用 datashade/holoviews/Bokeh 创建子图的一般符号是使用“+”符号:

plot = plot1 + plot2 + plot3

但是,我正在尝试在 for 循环内生成绘图,就像使用 Matplotlib 一样。在 Seaborn 中,我可以这样做来创建子图,同时通过数据帧递增:

fig, axes = plt.subplots(nrows=len(DF_cols), ncols=1, figsize=(10,10), sharex = True)

count = 0
for i in DF_cols:
sns.lineplot(data=df[i], label=i, ax=axes[count])
count += 1

return fig, axes

如何将我下面的 Datashade/Holoviews 方法转换为更自动化的流程?

c1 = hv.Curve(df['T'])
c2 = hv.Curve(df['A'])
c3 = hv.Curve(df['B'])
c4 = hv.Curve(df['C'])
plot1 = dynspread(datashade(c1))
plot2 = dynspread(datashade(c2))
plot3 = dynspread(datashade(c3))
plot4 = dynspread(datashade(c4))
plot = (plot1 + plot2 + plot3 + plot4).cols(1)
plot

我最初的方法是使用创建一个自定义字符串来模仿正常的 Datashade 表示法并在其上运行 exec(),但在使用内部函数时这不起作用,或者最终会遇到其他错误。

最佳答案

您可以通过将元素列表传递给 hv.Layout 以编程方式创建布局。在这种情况下,下面的行应该可以解决问题:

hv.Layout([plot1, plot2, plot3, plot4]).cols(1)

关于python - 用于使用 Datashader/Holoviews/Bokeh 循环子图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54358350/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com