pandas Python -在一个图中为多个图绘制 Dataframe 中的每三列

a1o7rhls  于 2022-12-02  发布在  Python
关注(0)|答案(1)|浏览(180)

我有一个有150列的数据框,我想每三列一起绘制(变量加上减去标准差),这意味着我想得到50个图。这50个图我想放在一个X × X的矩阵中(尽可能最好)。
Pandas的数据框如下所示:

我也有三个 Dataframe 与单独的变量/stdev减/stdev加,如果这更容易绘图。
到目前为止,我尝试了:

for colname in df.columns:
    plt.figure()
    plt.plot(df["date"], df[colname])
    plt.plot(df["date"], df[colname+"_minus_stdev"])
    plt.plot(df["date"], df[colname+"_plus_stdev"])
    plt.savefig(colname+".png")
    plt.show()

但这不起作用,然后我会有重复的情节.
我们会很感激的!最好的,莉娜

u91tlkcl

u91tlkcl1#

尝试将plt.figure()plt.plot()置于for循环之外。
例如:

plt.figure()

for colname in df.columns:
    plt.plot(df["date"], df[colname])
    plt.plot(df["date"], df[colname+"_minus_stdev"])
    plt.plot(df["date"], df[colname+"_plus_stdev"])
    plt.savefig(colname+".png")

plt.show()

相关问题