python的matplotlib库学习

学习文章戳这里

subplot解释:subplot(2, 2, x) 表示将图像窗口分为 2 行 2 列。x 表示当前子图所在的活跃区。

先不多说,上代码(代码中有注释)

import matplotlib.pyplot as plt #导入matplotlib模块中的子模块pyplot
import cmath
import numpy as np

#绘制x轴坐标值为0,1,2,3,4所对应y轴坐标值为1,2,5,6,8的折线图
plt.plot([1,2,5,6,8]) #使用plot函数画图
plt.ylabel('some numbers') #为y轴加注释
plt.show()


#绘制y=sin(x)
x=[2*cmath.pi*i/100 for i in range(100)]
y=[cmath.sin(i) for i in x]
plt.plot(x,y)
plt.show()

#绘制多个图形
def f(t):
    return np.exp(-t)*np.cos(2*np.pi*t)
t1=np.arange(0.0,5.0,0.1)
t2=np.arange(0.0,5.0,0.02)
plt.figure(1) #指定图形
plt.subplot(211)#将图像窗口分为2行1列,当前活跃区为1
plt.plot(t1,f(t1),'bo',t2,f(t2),'k')
plt.subplot(212)#将图像窗口分为2行1列,当前活跃区为2
plt.plot(t2,np.cos(2*np.pi*t2),'r--')#红色虚线
plt.show()

#在一张图纸里绘制多个图形
x=np.linspace(0,2*np.pi,50)
y=np.sin(x)
plt.figure(figsize=(6,3))#控制图形的大小
plt.plot(x,y,'m--',label='sin(x)')
plt.plot(x,y*2,'y*-',label='2sin(x)')
plt.legend(loc='best')#利用label和legend来区分每个数据对应的图形(右上角标签)
plt.title('sin(x)&2sin(x)')#设置标题
plt.xlim((0,np.pi+1))#设置坐标轴范围
plt.ylim((-3,3))
plt.xlabel('X')#设置坐标轴标签
plt.ylabel('Y')
plt.show()

plt.plot(x,y)
plt.plot(x,2*y)
plt.xticks((0,np.pi*0.5,np.pi,np.pi*1.5,np.pi*2))#也可以用xticks和yticks来设置轴的刻度
plt.show()

运行结果依次如下:

发布了81 篇原创文章 · 获赞 91 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_44593822/article/details/103393313
今日推荐