【matplotlib】figure与axes的关系

figure是绘制对象,一个figure对象可以包含多个Axes子图,一个Axes是一个绘图区域,不加设置时,Axes为1,且每次绘图其实都是在figure上的Axes上绘图。
接下来看怎么绘制多子图。
使用 plt.subplot(numRows, numCols, plotNum),参数分别代表行数,列数,以及编号,编号顺序为从左到右、从上到下,从1开始。如果这三个参数值都小于10,可以去掉逗号写。子图不能重叠,如果新创建的子图覆盖了前子图,前子图会被删除掉。
————————————————
版权声明:本文为CSDN博主「超级点不超」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhang_diandian/article/details/79968832

"""
1. 建立两个figure,对第二个figure设置axes
2. 循环中在 figure 和 ax1,ax2上做图
3. plt.figure(1) 在figure1存在的时候,作为选取作用
4. plt.sca(ax1) 选取ax1,使用plt.sca()-select current axes
"""
plt.figure(1) 
plt.figure(2)
ax1 = plt.subplot(121)
ax2 = plt.subplot(122)

x = np.linspace(0,3,100)

for i in range(5):
    plt.figure(1)
    plt.plot(x, np.exp(i*x/3))
    plt.sca(ax1)
    plt.plot(x, np.sin(i*x))
    plt.sca(ax2)
    plt.plot(x, np.cos(i*x))
plt.show()

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/YJYS_ZHX/article/details/114643842