欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Matplotlib的子图subplot的使用

程序员文章站 2022-07-13 11:03:43
...
Matplotlib的子图subplot的使用Matplotlib的子图subplot的使用Matplotlib的子图subplot的使用Matplotlib的子图subplot的使用

转载:https://www.jianshu.com/p/de223a79217a

Matplotlib的子图subplot的使用

Matplotlib的子图subplot的使用 
skullfang 关注
2018.01.08 16:10 字数 229 阅读 74评论 0喜欢 0

前言

Matplotlib的可以把很多张图画到一个显示界面,这就设计到面板切分成一个一个子图。这是怎么做到的呢。matplot提供两种方法。

subplot

直接指定划分方式和位置进行绘图。

t=np.arange(0.0,2.0,0.1)
s=np.sin(t*np.pi)
plt.subplot(2,2,1) #要生成两行两列,这是第一个图plt.subplot('行','列','编号')
plt.plot(t,s,'b--')
plt.ylabel('y1')
plt.subplot(2,2,2) #两行两列,这是第二个图
plt.plot(2*t,s,'r--')
plt.ylabel('y2')
plt.subplot(2,2,3)#两行两列,这是第三个图
plt.plot(3*t,s,'m--')
plt.subplot(2,2,4)#两行两列,这是第四个图
plt.plot(4*t,s,'k--')
plt.show()
Matplotlib的子图subplot的使用
image.png

subplot前面俩参数指定的是一个画板被分割成的行和列,后面一个参数则指的是当前正在绘制的编号!
那是个什么编号规则呢?就是 行优先数数规则!

Matplotlib的子图subplot的使用
image.png

行优先开始数。

subplots

这个方法更直接。事先先把画板分隔好。

t=np.arange(0.0,2.0,0.1)
s=np.sin(t*np.pi)
figure,ax=plt.subplots(2,2)
ax[0][0].plot(t,s,'r*')
ax[0][1].plot(t*2,s,'b--')
figure

这里的的ax是matplotlib.axes._subplots.AxesSubplot 这个类型的,我们可以理解为这是一个子plot,我们在这上面操作它把图像画到figure上面去。我们直接根据列表的下标指定画图的位置。最后显示figure即可。


Matplotlib的子图subplot的使用
image.png
也可以用
fig, ax = plt.subplots(ncols=2, nrows=2, figsize=(10, 10))##figsize,单位英寸,是打开的窗口大小
ax[0][0].imshow(img)#img是图片矩阵,在子图中显示图片