matplotlib.pyplot.subplots()用于一次性创建并返回所有的子图和其 axe 对象。
nrows:图表的行数,默认为 1
ncols:图表的列数,默认为 1
sharex、sharey:设置 x、y 轴共享属性,默认为 False,可设置为‘True’。 False即 每个子图的 x 轴或 y 轴独立;True 即所有子图共享 x 轴或 y 轴
subplot_kw:向每个子图传递一个字典,这个字典包含了创建子图时想要应用的额外关键字参数
gridspec_kw:调整子图之间的水平间距、垂直间距等布局相关的选项。
绘制四个基本图来更直观的感受以下
import pandas as pdimport matplotlib.pyplot as pltimport numpy as npx1 = np.linspace(0,100,400)x2 = np.linspace(0,50,400)y11 = 2*x1y12=x1**2y21=2/x2y22=np.sin(x2)f, ([ax1, ax2], [ax3, ax4]) = plt.subplots(2, 2)ax1.plot(x1, y11)ax1.set_title('11')ax2.plot(x1, y12)ax2.set_title('12')ax3.plot(x2, y21)ax3.set_title('21')ax4.plot(x2, y22)ax4.set_title('22')plt.show()
share
更改sharex=True,可以看到第二行的x轴范围扩大到与第一行相同
subplot_kw
增加subplot_kw={'facecolor': 'grey'},可以看到子图背景(facecolor)更换为灰色
gridspec_kw
增加gridspec_kw={'hspace': 1, 'wspace': 1},可以看到子图间距变大