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

2024-11-08 07:50:58
推荐回答(2个)
回答1:

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()

附上效果图。

回答2:

结果不同,需要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)