我想减少子图之间的垂直间距.在网上冲浪我刚刚发现了如何减少水平间距,就像这样
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()
Run Code Online (Sandbox Code Playgroud)
hspace是操纵这种行为的东西,但显然没有vspace.
编辑:
这不会减少y轴之间的空间,这就是我想要操纵的空间.
Dav*_*idG 14
正如您在问题中所说的那样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()
Run Code Online (Sandbox Code Playgroud)
使用0.2作为wspace
给出的值
另一种方法是使用键/传递gridspec_kw
参数 a :dict
wspace
hspace
fig, axes = plt.subplots(nrows=2, ncols=2, gridspec_kw={'hspace': 0.2, 'wspace': 0.9})
plt.tight_layout()
for ax, color in zip(axes.ravel(), list('rgbk')):
ax.scatter(np.arange(100), np.random.randn(100), color=color)
Run Code Online (Sandbox Code Playgroud)
小智 5
如果我正确理解你的问题,你想减少垂直间距,这不是我在上面所有答案中看到的。
hspace
例如,如果我是正确的,您应该将 0.5 减少到 0.2。那是因为hspace
不代表水平间距,它代表高度间距,这正是您所需要的。
归档时间: |
|
查看次数: |
8070 次 |
最近记录: |