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