我试图在matplotlib中创建一个图,第一列有三个子图,第二列有两个。
使用gridspec,我设法调整了它,但不知何故,在第一列和第二列的不同子图之间有很大的间距。理想情况下,它们应该填满整个子图区域。有什么建议或解释为什么会发生这种情况吗?
先谢谢你了!
到目前为止,我尝试的是:
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
fig = plt.figure(figsize=(7, 7.5))
gs = gridspec.GridSpec(6, 2)
# Top left subplot
ax = fig.add_subplot(gs[0:1, 0])
ax.set_ylabel('YLabel0')
ax.set_xlabel('XLabel0')
# Center left subplot
ax = fig.add_subplot(gs[2:3, 0])
ax.set_ylabel('YLabel1')
ax.set_xlabel('XLabel1')
# Bottom left subplot
ax = fig.add_subplot(gs[4:5, 0])
ax.set_ylabel('YLabel2')
ax.set_xlabel('XLabel2')
# Top right subplot
ax = fig.add_subplot(gs[0:2, 1])
ax.set_ylabel('YLabel3')
ax.set_xlabel('XLabel3')
# Bottom right subplot
ax = fig.add_subplot(gs[3:5, 1])
ax.set_ylabel('YLabel4')
ax.set_xlabel('XLabel4')
plt.show()
这就是结果:
1条答案
按热度按时间h6my8fg21#
您可以创建两个GridSpec示例,一个用于左列,一个用于右列。例如: