matplotlib 绘制多个图——两种方法
import numpy as np import matplotlib.pyplot as plt #创建自变量数bai组du x= np.linspace(0,2*np.pi,500) #创建函数值数组 y1 = np.sin(x) y2 = np.cos(x) y3 = np.sin(x*x) #创建图形 plt.figure(1) # fig=plt.figure(figsize=(20,7)) ''' 意思是在一个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()
第二种
import matplotlib.pyplot as plt def func1(cpulist): plt.figure() plt.plot(cpulist) plt.xlabel('t/s') plt.title(u"1111",fontproperties='SimHei') plt.ylabel(u'百分比',fontproperties='SimHei') plt.savefig('./tl.png') #plt.show() plt.close(0) def func2(menlist): plt.figure() plt.plot(menlist) plt.xlabel('t/s') plt.title(u"222",fontproperties='SimHei') plt.ylabel(u'%',fontproperties='SimHei') plt.savefig('./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] func1(mem_list) func2(cpu_list)