绘制所有图形并将其保存在python中的pdf文件中

时间:2017-05-04 12:26:29

标签: python csv pdf matplotlib

我有一个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")

0 个答案:

没有答案