python matplotlib模块 如何画两张图出来

def P_cpuLine(cpulist):
plt.plot(cpulist)
plt.xlabel('t/s')
plt.title(u"1111", fontproperties='SimHei')
plt.ylabel(u'百分比',fontproperties='SimHei')
savefig('D:/FTP/TestResult/ll.jpg')

def P_menLine(menlist):
plt.plot(menlist)
plt.xlabel('t/s')
plt.title(u"222", fontproperties='SimHei')
plt.ylabel(u'%',fontproperties='SimHei')
savefig('D:/FTP/TestResult/t2.jpg')

def main():
P_menLine(mem_list)
P_cpuLine(cpu_list)

如上程序这样调用,为啥绘制的来的图时一样的啊,mem_list和cpu_list是两个不同的数组,数值时不同的

python matplotlib模块 如何画两张图出来的方法:

代码如下所示:

import numpy as np

import matplotlib.pyplot as plt

#创建自变量数组

x= np.linspace(0,2*np.pi,500)

#创建函数值数组

y1 = np.sin(x)

y2 = np.cos(x)

y3 = np.sin(x*x)

#创建图形

plt.figure(1)

'''

意思是在一个2行2列共4个子图的图中,定位第1个图来进行操作(画图)。

最后面那个1表示第1个子图。那个数字的变化来定位不同的子图

'''

#第一行第一列图形

ax1 = plt.subplot(2,2,1)

#第一行第二列图形

ax2 = plt.subplot(2,2,2)

#第二行

ax3 = plt.subplot(2,1,2)

#选择ax1

plt.sca(ax1)

#绘制红色曲线

plt.plot(x,y1,color='red')

#限制y坐标轴范围

plt.ylim(-1.2,1.2)

#选择ax2

plt.sca(ax2)

#绘制蓝色曲线

plt.plot(x,y2,'b--')

plt.ylim(-1.2,1.2)

#选择ax3

plt.sca(ax3)

plt.plot(x,y3,'g--')

plt.ylim(-1.2,1.2)

plt.show()

附上效果图。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-04-21

结果不同,需要plt.figure()清空画板,代码如下:

import matplotlib.pyplot as plt
def P_cpuLine(cpulist):
    plt.figure()
    plt.plot(cpulist) 
    plt.xlabel('t/s') 
    plt.title(u"1111", fontproperties='SimHei')
    plt.ylabel(u'百分比',fontproperties='SimHei')
    plt.savefig('G:/tl.png')
    #plt.show()
    plt.close(0)
def P_menLine(menlist):
    plt.figure()
    plt.plot(menlist) 
    plt.xlabel('t/s') 
    plt.title(u"222", fontproperties='SimHei')
    plt.ylabel(u'%',fontproperties='SimHei')
    plt.savefig('G:/t2.png')
    #plt.show()
mem_list = [1,2,3,4,5,4,3,2,1]
cpu_list = [4,3,2,1,0,1,2,3,4]
P_menLine(mem_list)
P_cpuLine(cpu_list)

追问

多谢,好像可以了

能否再问一个问题,给追加悬赏
print 'Invalid input. Please try again.'
怎么分割以上的字符串,以空格分割(把空格去掉)
ln.strip().split(' ') 我的这个方法把空格分割出来了,不需要空格的只返回有内容的字符串

本回答被提问者和网友采纳
相似回答