Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Pandas.plot多个打印相同的图形_Python_Pandas_Matplotlib_Plot - Fatal编程技术网

Python Pandas.plot多个打印相同的图形

Python Pandas.plot多个打印相同的图形,python,pandas,matplotlib,plot,Python,Pandas,Matplotlib,Plot,我有多个CSV文件,我正试图在同一个图中绘制它们之间的比较。我已经读到了一些关于熊猫问题的信息,没有保留记忆图,每次都创建一个新的。人们在谈论使用ax变量,但我不明白 目前我有: 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=par

我有多个CSV文件,我正试图在同一个图中绘制它们之间的比较。我已经读到了一些关于熊猫问题的信息,没有保留记忆图,每次都创建一个新的。人们在谈论使用ax变量,但我不明白

目前我有:

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)
但它向我展示了十个情节,只保存了最后一个。 有什么想法吗?

结构是

  • 创建要打印到的轴
  • 运行循环以填充轴
  • 保存和/或显示(显示前保存)
  • 在代码方面:

    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()
    

    (1)
    plt.savefig
    需要放在
    plt.show
    之前。(2)
    plt.show()
    应该在循环之外。(3) 您可以创建一个轴来打印到循环外部,
    ax=plt.gca();对于范围(1,10)内的i:。。。plot(ax=ax)
    仍然没有得到足够的重视。剩下的一件事是,当我保存图形时,它只选择最后一个。只有图1有所有的图。在我回答的代码中只有一个图,并且该图被保存。奇怪的是,使用完全相同的代码不断显示我10个图。好的,我知道了,忘记了第一个图的ax=ax。再次感谢。