教育行业A股IPO第一股(股票代码 003032)

全国咨询/投诉热线:400-618-4000

Python中如何绘制单子图

更新时间:2022年04月04日10时57分 来源:传智教育 浏览次数:

  使用pyplot的subplot()函数可以在规划好的某个区域中绘制单个子图,subplot()函数的语法格式如下:

subplot(nrows, ncols, index, projection, polar, sharex, sharey, label, **kwargs)

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

  ·nrows:表示规划区域的行数。

  ·ncols:表示规划区域的列数。

  ·index:表示选择区域的索引,默认从1开始编号。

  ·projection:表示子图的投影类型,可以为None、'aitoff'、'hammer'、'lambert'、'mollweide'、'polar'、'rectilinear'中任一取值,其中默认值None代表使用'rectilinear'直线投影。

  ·polar:表示是否使用极坐标,默认值为False。若参数polar设为True,则作用等同于projection='polar'。

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

  参数nrows、ncols、index既支持单独传参,也支持以一个3位整数(每位整数必须小于10)的形式传参。例如,subplot(235)与subplot(2,3,5)是等价的。

  subplot()函数会返回一个Axes类的子类SubplotBase对象。

  需要说明的是,Figure类对象可以使用add_subplot()方法绘制单子图,此方式与subplot()函数的作用是等价的。例如,将画布规划成3x2的矩阵区域,并在索引为6的区域中绘制子图;再次将画布规划成3x1的矩阵区域,并在索引为2的区域中绘制子图,代码如下。

# 通过窗口的形式显示图片,很好地体现子图与整个画布的位置关系
import matplotlib.pyplot as plt
# 画布被规划为3x2的矩阵区域,之后在索引为6的区域中绘制子图
ax_one = plt.subplot(326)
ax_one.plot([1, 2, 3, 4, 5])
# 画布被规划为3x1的矩阵区域,之后在索引为2的区域中绘制子图
ax_two = plt.subplot(312)
ax_two.plot([1, 2, 3, 4, 5])
plt.show()

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

连续绘制的两个子图

  图5-2 连续绘制的两个子图

0 分享到:
和我们在线交谈!