subplot(numRows, numCols, plotNum)
subplot将整个绘图区域等分为 numRows行 * numCols列
个子区域,然后按照从左到右,
从上到下的顺序对每个子区域进行编号,左上的子区域的编号为1。
如果numRows,numCols和plotNum这 三个数都小于10的话,可以把它们缩写为一个整数,
例如subplot(323)和subplot(3,2,3)是相同的。
subplot在plotNum指定的区域中创建一个轴对象。
如果新创建的轴和之前创建的轴重叠的话,之前的轴将被删除。
下面的程序创建3行2列共6个轴,通过axisbg参数给每个轴设置不同的背景颜色。
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
for idx, color in enumerate("rgbyck"):
print(idx, color)
# fig, ax = plt.subplots(320+idx+1)
plt.subplot(320 + idx + 1, facecolor=color)
# fig, ax = plt.subplots(320+idx+1, facecolor=color)
# 2) hex string:
# ax.set_facecolor('#eafff5')
# plt.axes()
plt.show()
0 r 1 g 2 b 3 y 4 c 5 k
用subplot函数将Figure分为六个子图区域
如果希望某个轴占据整个行或者列的话,可以如下调用subplot:
plt.subplot(221) # 第一行的左图
plt.subplot(222) # 第一行的右图
plt.subplot(212) # 第二整行
plt.show()
将Figure分为三个子图区域
当绘图对象中有多个轴的时候,可以通过工具栏中的Configure Subplots按钮,交互式地调节轴之间 的间距和轴与边框之间的距离。如果希望在程序中调节的话,可以调用subplots_adjust函数,它有 left, right, bottom, top, wspace, hspace等几个关键字参数,这些参数的值都是0到1之间的小数,它 们是以绘图区域的宽高为1进行正规化之后的坐标或者长度。