首页技术文章正文

绘制自定义区域的单子图

更新时间: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所示。

1649298227135_非等分布局的子图.jpg

  图5-9 非等分布局的子图

  图5-9中包含两个大小不同的图表。由图5-9可知,第1个图表位于画布的右下方,图表的宽度占画布宽度的三分之一,高度占画布高度的二分之一;第2个图表位于画布的右下方,图表的宽度占画布的三分之二,高度占画布高度的二分之一。

分享到:
在线咨询 我要报名