我有一个csv文件,格式如下 Sample csv data
我需要针对单个容器CPUPerc,Memusage等绘制图表以防止时间戳(时间将在x轴,CPU,内存值将在Y轴上)并且一旦生成所有图形,它应该保存所有图形在pdf文件中。我能够使用以下代码生成所有图形,但是当将其保存为pdf时,它会覆盖并仅保存最后一个图形而不是全部图形。任何人都可以帮到这里。
代码如下:
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_csv('stats.csv')
mydict=["CPUPerc","MemUsage","NetIO","BlockIO","MemPerc"]
mp= df.groupby(['Container'])
for key,values in mp:
m=mp.get_group(key)
print key
for j in mydict:
y=m[j]
z=[]
for i in y:
if ( j=="CPUPerc" or j=="MemPerc"):
i=i.replace('%','')
z.append(i)
else:
i,sep,tail = i.partition(' ')
z.append(i)
y=map(float,list(z))
p=[]
print y
t=list()
for i in xrange(len(y)):
t.append(i)
plt.plot(t,y)
fig = plt.gcf()
plt.xticks(rotation=45)
ylab=('All {0} values for {1}------>'.format(j,key))
plt.xlabel('Time Series ------->')
plt.ylabel(ylab)
#plt.grid(True)
plt.grid(alpha=0.4)
plt.tight_layout()
plt.show()
fig.savefig("All_Graph.pdf")