matplotilb中fig,ax = plt.subplots()的使用

Elana ·
更新时间:2024-09-20
· 511 次阅读

在用matplotlib绘制图形时,我经常要绘制子图,此时我们就可以使用函数

plt.subplots()

fig,ax = plt.subplots()的意思建立一个fig对象和建立一个axis对象,当我绘制2*2的个子图时候我们需要

#建立一个fig对象和一个axis对象,figsize设置对象的大小 fig,ax = plt.subplots(2,2,figsize=(9,25)) #选定第2个子图 ax1 = plt.subplot(221) ax1.scatter(x1,y1) #选定第2个子图 ax1 = plt.subplot(222) ax1.scatter(x2,y2) #或者使用索引的方式绘制子图 ax[0].scatter(x1,y1) ax[1].scatter(x1,y1)

以上就是 plt.subplots()的作用,我们举个栗子:

方法1 import numpy as np import matplotlib.pyplot as plt import matplotlib.patches as mpathes #设置2个子图 fig,ax = plt.subplots(1,2,figsize=(9,5)) xy1 = np.array([0.2,0.8]) xy2 = np.array([0.2,0.8]) ax1 = plt.subplot(121) #绘制子图1对象 ax2 = plt.subplot(122) #绘制子图2对象 #设定绘制边框的尺寸 rect1 = mpathes.Rectangle(xy2,0.2,0.1,fill=False,color='r') rect2 = mpathes.Rectangle(xy2,0.2,0.1,fill=False,color='b') ax1.add_patch(rect1) #对子图1进行绘制 ax2.add_patch(rect2) #对子图2进行绘制 ax1.set_title('test_1') ax2.set_title('test_2') ax1.grid() ax2.grid() plt.show()

在这里插入图片描述

方法2 import numpy as np import matplotlib.pyplot as plt import matplotlib.patches as mpathes #设置2个子图 fig,ax = plt.subplots(1,2,figsize=(9,4)) xy = np.array([0.2,0.8]) #设定绘制边框的尺寸 rect1 = mpathes.Rectangle(xy,0.2,0.1,fill=False,color='r') rect2 = mpathes.Rectangle(xy,0.2,0.1,fill=False,color='b') ax[0].add_patch(rect1) #对子图1进行绘制 ax[1].add_patch(rect2) #对子图2进行绘制 ax[0].set_title('test_1') ax[1].set_title('test_2') plt.show()

在这里插入图片描述


作者:安静到无声



plt

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章