Skip to main content
 首页 » 编程设计

python之Pandas.plot 多图同图

2025年05月04日21落叶无声

我有多个 CSV 文件,我试图将它们绘制在同一个图中以对它们进行比较。我已经阅读了一些有关 pandas 问题的信息,即不保留内存图并每次都创建新的。人们在谈论使用 ax var,但我不明白...

现在我有:

def scatter_plot(csvfile,param,exp): 
    for i in range (1,10): 
        df = pd.read_csv('{}{}.csv'.format(csvfile,i)) 
        ax = df.plot(kind='scatter',x=param,y ='Adjusted') 
        df.plot.line(x=param,y='Adjusted',ax=ax,style='b') 
    plt.show() 
    plt.savefig('plot/{}/{}'.format(exp,param),dpi=100) 

但它向我展示了十个情节,只保存了最后一个。 有什么想法吗?

请您参考如下方法:

结构是

  1. 创建一个坐标轴以绘制到
  2. 运行循环来填充轴
  3. 保存和/或显示(显示前保存)

在代码方面:

import matplotlib.pyplot as plt 
import pandas as pd 
 
ax = plt.gca() 
for i in range (1,10): 
    df = pd.read_csv(...) 
    df.plot(..., ax=ax) 
    df.plot.line(..., ax=ax) 
 
plt.savefig(...) 
plt.show()