【发布时间】:2015-03-29 01:01:10
【问题描述】:
我正在使用 Matplotlib 并努力在我正在绘制的包含子图网格的图形周围获得正确数量的空白。
要求:能够选择所有子图的纵横比(它们都相同),准确定义子图与(已保存)图形边缘的顶部、底部和左侧之间的空白量。我不需要右边的任何额外空间。
到目前为止,我的代码包含以下内容:
import matplotlib.pyplot as plt
fig, axes = plt.subplots(ncols=6, nrows=2, sharex=True,
sharey=True, figsize=(16,8))
axes[0,0].plot(x,y)
etc...
plt.subplots_adjust(hspace=1.0, wspace=0.02, bottom=0.17, left=0.075, top=0.18)
plt.savefig('Fig1_matplot.pdf', bbox_inches='tight')
事实上,如果我不指定figsize=(),则子图的纵横比是错误的。如果我这样做了,那么每当我更改subplots_adjust() 中的参数时,纵横比都会发生变化。显然是left cannot be >= right 和bottom cannot be >= top。如果我确实将 top 定义为 0 以外的任何值,它会将所有子图完全压缩到图底部的一行。
如果我指定bbox_inches='tight',那么它会切断我在底部和左侧定义的空白,但如果我不指定它,那么我会在右侧留下多余的空白,因为我无法摆脱它(右边将是
我有点卡住了,任何帮助将不胜感激。
干杯。
【问题讨论】:
标签: python python-2.7 matplotlib figure subplot