我想使用 matplotlib 调整子图之间的边距。例如,我有三个子图,3 行 * 1 列。我希望 ax0 和 ax1 之间的 hspace 为 0,而 ax1 和 ax2 之间的 hspace 为 0.5。
使用 plt.subplots_adjust(hspace=0)
会将 hspace 调整为相同,但我希望它们不同。我们怎样才能做到这一点?
最佳答案
hspace
参数对所有子图全局起作用。要获得不同的 hspace,您可以在两个底部图之间引入另一个不可见图,并将其高度比调整为其他图的一半。
import matplotlib.pyplot as plt
fig, axes = plt.subplots(nrows=4,
gridspec_kw={"height_ratios" : [1,1,.5,1], "hspace":0})
axes[0].tick_params(axis="x", bottom=False, labelbottom=False)
axes[2].axis("off")
plt.show()