首页技术文章正文

Python培训:绘制多子图

更新时间:2022-04-06 来源:黑马程序员 浏览量:

  使用pyplot的subplots()函数可以在规划好的所有区域中一次绘制多个子图。subplots()函数的语法格式如下:

  该函数常用参数的含义如下:

subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True,
subplot_kw=None, gridspec_kw=None, **fig_kw)

  ·nrows:表示规划区域的行数,默认为1。

  ·ncols:表示规划区域的行列数,默认为1。

  ·sharex,sharey:表示是否共享子图的x轴或y轴。

  ·squeeze:表示是否返回压缩的Axes对象数组,默认为True。当squeeze为True时,若nrows和ncols均为1,则subplots()函数会返回一个Axes对象;若nrows和ncols均大于1,则subplots()函数会返回一个Axes对象数组。当参数squeeze为False时,subplots()函数会返回一个包含Axes对象的二维数组。

  ·gridspec_kw:表示用于控制区域结构属性的字典。

  subplots()函数会返回一个包含两个元素的元组,其中元组的第一个元素为Figure对象,第二个元素为Axes对象或Axes对象数组。

  例如,将画布规划成2x2的矩阵区域,之后在第3个区域中绘制子图,代码如下。

import matplotlib.pyplot as plt
# 将画布划分为2x2的等分区域
fig, ax_arr = plt.subplots(2, 2)
# 获取ax_arr数组第1行第0列元素,也就是第3个区域
ax_thr = ax_arr[1, 0]
ax_thr.plot([1, 2, 3, 4, 5])
plt.show()

  运行程序,效果如图5-7所示。

1649214199459_一次绘制的多个子图.png

  图5-7 一次绘制的多个子图

分享到:
在线咨询 我要报名
和我们在线交谈!