Matplotlib使用subplot绘制子图时如何自定义设置图形大小?
matplotlib子图自定义整体尺寸方法
调用plt.subplots()时传入figsize参数即可直接自定义整张画布的大小,该参数接收格式为(宽度, 高度)的二元元组,单位为英寸,matplotlib默认画布尺寸为(6.4, 4.8),按需求调大两个数值即可放大整体图形。
修改后的可直接运行代码如下:
# 可根据自身需求调整figsize内的宽高数值,例如下方设置为宽12英寸、高5英寸 fig, axs = plt.subplots(1, 2, figsize=(12, 5)) for i in range(len(Yallp)): axs[0].plot(Dt, Yall[i]) axs[1].plot(Dt, Yallp[i]) for ax in axs.flat: ax.set(xlabel='time scales', ylabel='$<C_{ij}>_{ij}$') for ax in axs.flat: ax.label_outer() axs[0].grid() axs[1].grid()
补充说明
- 若调整画布尺寸后出现文字、标签大小不协调的问题,可通过
plt.rcParams全局配置字体大小,或单独给坐标轴标签、刻度设置fontsize参数适配。 - 如果已经完成画布创建才需要调整尺寸,可调用
fig.set_size_inches(新宽度, 新高度)事后修改,不需要重新绘图。 - 调整尺寸后调用
plt.tight_layout()可以自动适配子图间距,避免标签被裁切。
内容的提问来源于stack exchange,提问作者doudinetti
相关产品推荐
相关产品推荐

