我试图在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条答案
按热度按时间mlnl4t2r1#
可以创建两个GridSpec示例,一个用于左列,一个用于右列。例如: