更新时间:2022-04-07 来源:黑马程序员 浏览量:
使用pyplot的subplot2grid()函数可以将整个画布规划成非等分布局的区域,并可在选中的某个区域中绘制单个子图,subplot2grid()函数的语法格式如下:
subplot2grid(shape, loc, rowspan=1, colspan=1, fig=None, **kwargs)
该函数常用参数的含义如下。
·shape:表示规划的区域结构,它是一个包含两个整型数据的元组,其中第1个元素表示规划区域的行数,第2个元素表示规划区域的列数。
·loc:表示选择区域的位置,它是一个包含两个整型数据的元组,其中第1个元素表示子图所在的行数(行数从0开始),第2个元素表示子图所在的列数(列数从0开始)。
·rowspan:表示向下跨越的行数,默认为1。
·colspan:表示向右跨越的列数,默认为1。
·fig:表示放置子图的画布,默认为当前画布。
例如,将画布规划成2x3的矩阵区域,并在第0行第2列的区域中绘制子图;再次将画布规划成2x3的矩阵区域,并在第1行第1~2列的区域中绘制子图,代码如下:
import matplotlib.pyplot as plt # 画布被规划成2x3的矩阵区域,之后在第0行第2列的区域中绘制子图 axl = plt.subplot2grid((2, 3), (0, 2)) axl.plot([1, 2, 3, 4, 5]) # 画布被规划成2x3的矩阵区域,之后在第1行第1~2列的区域中绘制子图 ax2 = plt.subplot2grid((2, 3), (1, 1), colspan=2) ax2.plot([1, 2, 3, 4, 5]) plt.show()
运行程序,效果如图5-9所示。

图5-9 非等分布局的子图
图5-9中包含两个大小不同的图表。由图5-9可知,第1个图表位于画布的右下方,图表的宽度占画布宽度的三分之一,高度占画布高度的二分之一;第2个图表位于画布的右下方,图表的宽度占画布的三分之二,高度占画布高度的二分之一。
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