matplotlib为自定义布局提供了俩种凡是,分别为gridspec()方法和add_gridspec方法
gridspec构造方法格式如下:
GeidSpec(nrows,ncols,figrue=None,left=None,bottom=None,right=None,width_rations=None,height_rations=None)
详细参数可以参考官方文档
这里我们使用add_gridspec方法为画布添加布局结构
这种方式需要创建画布和gridspec类对象,之后在调用add_gridspec方法添加子图传入一个gridspec对象即可,具体示例如下:
#导入库
import matplotlib.pyplot as plt
import numpy as np
#创建画布
fig=plt.figure()
#使用add_gridspec方法向画布添加3行4列的布局结构
spec=fig.add_gridspec(3,4)
#绘制子图
fig.add_subplot(spec[0,:])
fig.add_subplot(spec[1,:2])
plt.subplot(spec[1,2:])
plt.subplot(349,polar=True)#这里一定要设置为极坐标格式,这样才能展示雷达图
fig.add_subplot(spec[2,1:])
#调整子图间的距离
plt.tight_layout()
plt.show()
运行结果展示