更新时间:2022-04-13 来源:黑马程序员 浏览量:
matplotlib的gridspec模块是专门指定画布中子图位置的模块,该模块中包含一个GridSpec类,通过显式地创建GridSpec类对象来自定义画布中子图的布局结构,使得子图能够更好地适应画布。GridSpec类的构造方法的语法格式如下:
GridSpec(nrows, ncols, figure=None, left=None, bottom=None, right=None, top=None, wspace=None, hspace=None, width_rations=None, height_rations=None)
该方法常用参数的含义如下。
.nrows:表示行数。
.ncols:表示列数。
.figure:表示布局的画布。
.left,bottom,right,top:表示子图的范围。
.wspace:表示子图之间预留的宽度量。
.hspace:表示子图之间预留的高度量。
GridSpec类对象的使用方式与数组的使用方式相似,采用索引或切片的形式访问每个布局元素。此外,matplotlib中还为Figure对象提供了快速添加布局结构的方法add_gridspec()。下面分别使用两种方式创建自定义的布局结构。
(1)使用GridSpec()方法创建子图的布局结构
这种方式需要创建子图和GridSpec类对象,之后在调用add_subplot()方法时传入GridSpec类对象即可,具体示例如下。
import matplotlib.pyplot as plt import matplotlib.gridspec as gridspec fig2 = plt.figure() spec2 = gridspec.GridSpec(ncols=2, nrows=2, figure=fig2) f2_ax1 = fig2.add_subplot(spec2[0, 0]) f2_ax2 = fig2.add_subplot(spec2[0, 1]) f2_ax3 = fig2.add_subplot(spec2[1, 0]) f2_ax4 = fig2.add_subplot(spec2[1, 1]) plt.show()
以上示例创建的子图布局如图5-17所示。
方法创建子图的自定义布局.jpg)
图5-17 使用GridSpec()方法创建子图的自定义布局
AI鸿蒙原生智能正式版课程,培养全端跨平台鸿蒙工程师
2026-03-10AI鸿蒙原生智能正式版课程,培养全端跨平台鸿蒙工程师
2026-03-10毕业16个工作日,平均薪资13180元,就业率100%,广州黑马AI智能应用开发(Java)学科20250529班
2026-03-06毕业32个工作日,平均薪资11147元,就业率95%,广州黑马AI智能应用开发(Java)学科20250326班
2026-03-05黑马程序员2025全国就业数据发布:全学科平均就业率92.07%,AI开发类就业平均薪资达11869.67元。
2026-03-05黑马全国校区齐开班!场面太太太壮观了!
2026-03-03