Matplotlib subplot/subplots创建画布,subplot间距调整及figure属性设置进一步解析

我们需要知道,在使用matplotlib进行画图的时候,需要先创建Figure,也就是进行plt.figure()操作,然后再使用subplot进行画布创建

不手动创建Figure对象

这里如果在创建画布前不进行figure创建,subplot会隐式地创建一个figure.若要获取这个figure对象只能使用plt.gcf(),然后若要获取当前的figsize,需要使用获取到的figure对象进行.get_size_inches(),若要进行修改,则需要使用.set_size_inches(),参数为要调整为的figsize.

同样,如果要进行facecolor的调整,也就是Figure对象的颜色获取,需要使用.get_facecolor()获取,修改需要使用.set_facecolor()

要进行dpi的调整,需要使用.get_dpi(),设置使用.set_dpi()

import matplotlib.pyplot as plt

# 创建一个包含两个子图的图形
ax3 = plt.subplot(221)
print(ax3.figure)

fig = plt.gcf()

print(fig.get_size_inches())
fig.set_size_inches(6,4)
print(fig.get_size_inches())

print(fig.get_dpi())
fig.set_dpi(300)
print(fig.get_dpi())

print(fig.get_facecolor())
fig.set_facecolor('red')
print(fig.get_facecolor())

# 显示图形
plt.show()

# Figure(640x480)
# [6.4 4.8]
# [6. 4.]
# 100.0
# 300
# (1.0, 1.0, 1.0, 1.0)
# (1.0, 0.0, 0.0, 1.0)

使用subplots()创建画布、画板

使用subplots()进行创建画布、画板,对于子画布的分配参数是需要设置nrows,ncols,两者分别为行数和列数,默认都为1,还可以直接在参数中配置figsize,facecolor,dpi等figure的参数,返回值为figure对象和多个子画布对象,可以进行解包.

import matplotlib.pyplot as plt

fig, axes = plt.subplots(2,2,figsize=(6,4),facecolor='w',dpi=300)
axes[0][0].set_title('title1')
axes[0][1].set_title('title1')
axes[1][0].set_title('title1')
axes[1][1].set_title('title1')

plt.show()

可以看到画布出现了重叠,这里可以通过plt.subplots_adjust()设置wspace和hspace也就是width space(宽度,横向的间距),height(高度,纵向的间距),这种方法同样适用于使用subplot()创建的画布

import matplotlib.pyplot as plt

fig, axes = plt.subplots(2,2,figsize=(6,4),facecolor='w',dpi=300)
plt.subplots_adjust(hspace=0.4,wspace=0.4)
axes[0][0].set_title('title1')
axes[0][1].set_title('title1')
axes[1][0].set_title('title1')
axes[1][1].set_title('title1')

plt.show()

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值