我想减少子图之间的垂直间距。沿着网络冲浪,我刚刚发现了如何减小水平间距,例如

import matplotlib.pyplot as plt

fig, axes = plt.subplots(nrows=4, ncols=4)
fig.tight_layout() # Or equivalently,  "plt.tight_layout()"
fig.subplots_adjust(hspace=0.5)
plt.show()


hspace是操纵这种行为的东西,但是显然没有vspace。

编辑:

这不会减少y轴之间的空间,而这正是我要操纵的空间。

最佳答案

如您在问题中所述,hspace减小了子图之间的垂直间距。子图之间的水平间距的等效值为wspace。下面是一个示例:

x = np.linspace(0, 2 * np.pi, 400)
y = np.sin(x ** 2)


fig, ((ax1,ax2),(ax3,ax4)) = plt.subplots(nrows=2, ncols=2)
fig.tight_layout()
ax1.plot(x, y)
ax2.scatter(x, y)
ax3.scatter(x, y)
ax4.scatter(x, y)

fig.subplots_adjust(wspace=0.2)
plt.show()


wspace使用1的值给出
matplotlib - 在matplotlib子图中对垂直空间进行操作-LMLPHP

使用0.2作为wspace的值可得出

matplotlib - 在matplotlib子图中对垂直空间进行操作-LMLPHP

关于matplotlib - 在matplotlib子图中对垂直空间进行操作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35754511/

10-16 11:59