I wrote a script to graph some columns of a pandas.DataFrame
. It is:
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_csv('alcohol_cons_18', sep=',') #this is the loaded data
a_list=list(df.columns.values) #a list of its columns
for ielement in range(len(a_list)): #iterate over columns and make charts
print ("column name is %s" %(a_list[ielement]))
if a_list[ielement]!= 'age':
df.plot(x='age', y=a_list[ielement])
plt.savefig(a_list[ielement] + '.png') #savefigures
but the script saves figures in a cummulative way. So in the second figure there are the first and second graph, and so on.. Any idea how to modify the script to save those graphs in different files?
答案 0 :(得分:2)
使用
plt.close()
记录在案here解决了您的问题?
否则,您可以尝试将绘图分配给枚举的数字,如此
for ielement in range(len(a_list)): #iterate over columns and make charts
print ("column name is %s" %(a_list[ielement]))
if a_list[ielement]!= 'age':
fig = plt.figure(ielement)
df.plot(x='age', y=a_list[ielement])
plt.savefig(a_list[ielement] + '.png')
答案 1 :(得分:1)
plt.clf()
或plt.cla()
取决于您是否要保存某些图形部分会清除画布。