提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
目录
前言
一、GridSpec是什么?
用法:
参数:
该类的方法:
二、使用步骤
1.导入模块
2.创建画布实例
3.创建区域规则图实例
4. 创建Gridspec对象,将实例传入add_subplot()
5.绘制图表
三. 实例
1.导入模块
2. 创建区域规范图实例
3.创建Gridspec对象,将实例传入add_subplot()
4.紧密布局
注:
用法:
参数:
5.绘制图表
前言
Matplotlib是Python中令人惊叹的可视化库,用于数组的二维图。 Matplotlib是一个基于NumPy数组的多平台数据可视化库,旨在与更广泛的SciPy堆栈配合使用。
一、GridSpec是什么?
matplotlib.gridspec.GridSpec
类用于指定放置子图的网格的几何形状。为此,必须设置行数和列数。同时,也可以完成子图布局参数的调整。
用法:
class matplotlib.gridspec.GridSpec(nrows, ncols, figure=None,
left=None, bottom=None, right=None, top=None, wspace=None,
hspace=None, width_ratios=None, height_ratios=None)
参数:
- nrows:它是一个整数,代表网格中的行数。
- ncols:它是一个整数,代表网格中的列数。
- figure:它是用于绘制图形的可选参数。
- left, right, top, bottom:这些是可选参数,用于将子图的范围定义为图形宽度或高度的一部分。
- wspase:这是一个可选的float参数,用于保留子图之间的宽度空间。
- hspace:它是一个可选的float参数,用于保留子图之间的高度空间。
- width_ratios:它是一个可选参数,代表列的宽度比率。
- height_ratios:它是一个可选参数,表示行的宽度比率
该类的方法:
- get_subplot_params(self, figure=None):它返回子图布局参数的字典。除非设置了图形属性,否则默认参数来自rcParams。
- ight_layout(self, figure, renderer=None, pad=1.08, h_pad=None, w_pad=None, rect=None):它用于提供特定的填充以调整子图。这里pad是一个float值,用于将图形边和子图边之间的填充设置为字体大小的一部分。 h_pad和w_pad是可选参数,用于设置相邻子图之间的填充。 rect也用于规范包含所有子图区域的矩形的图形坐标。其默认值为(0,0,1,1)。它是一个由4个浮点数组成的元组。
二、使用步骤
1.导入模块
代码如下:
#导入模块
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
2.创建画布实例
代码如下:
#创建画布实例
fig=plt.figure()
3.创建区域规则图实例
代码如下:
#创建区域规则图实例
spec=gridspec.GridSpec(ncols=2,nrows=2,figure=fig)
4. 创建Gridspec对象,将实例传入add_subplot()
代码如下:
# 创建Gridspec对象,将实例传入add_subplot()
f_ax1=fig.add_subplot(spec[0,0])
f_ax2=fig.add_subplot(spec[0,1])
f_ax3=fig.add_subplot(spec[1,0])
f_ax4=fig.add_subplot(spec[1,1]
5.绘制图表
代码如下:
#绘制图表
plt.show()
效果如下:
三. 实例
1.导入模块
代码如下:
#导入模块
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
2. 创建区域规范图实例
代码如下:
spec1 = gridspec.GridSpec(3,4,figure = fig)
3.创建Gridspec对象,将实例传入add_subplot()
代码如下:
#将实例传入plt_subplot()
ax1 = plt.subplot(spec1[0,:])
ax2 = plt.subplot(spec1[1,0:2])
ax3 = plt.subplot(spec1[1,2:4])
ax4 = plt.subplot(spec1[2,0],projection = 'polar')
ax5 = plt.subplot(spec1[2,1:4])
4.紧密布局
代码如下:
#紧密布局
plt.tight_layout()
注:
用法:
tight_layout(pad=1.08,h_pad=None,w_pad=None,rect=None)
参数:
pad:表示画布边缘与子图边缘之间的空白区域大小
h_pad,w_pad:表示相邻子图之间的空白区域大小
rect:把所有坐标系实例打包在一起,整体进行挪动
5.绘制图表
代码如下:
#绘制图表
plt.show()
效果如下: