gpt4 book ai didi

python - matplotlib:意外的 gridspec 行为

转载 作者:太空宇宙 更新时间:2023-11-03 18:28:51 25 4
gpt4 key购买 nike

我尝试使用 gridspec 在一个图中垂直绘制两个图。上面的应该是下面的两倍高(即比例为 2:1,具有 3 个相等的垂直部分),并且它们必须共享 x 轴比例。我有下面的最小示例,它生成正确的三部分图,但它的上部子图的宽度不等于下部子图的两倍。第一个图在上三分之一,第二个在下三分之一,中间是空的,错误在哪里?

import matplotlib.gridspec as gridspec
x = y = [1,2,3]
gs = gridspec.GridSpec(3, 1)
ax1 = plt.subplot(gs[0:1, 0])
ax1.plot(x, y)
ax2 = plt.subplot(gs[2, 0], sharex=ax1)
ax2.plot(x,y)
plt.show()

最佳答案

当使用gridspec时索引的作用类似于 numpy arrays 。因此,您需要 gs[0:2, 0] 来获得您想要的输出。

import matplotlib.pyplot as plt
from matplotlib import gridspec

x = y = [1,2,3]

gs = gridspec.GridSpec(3, 1)

ax1 = plt.subplot(gs[0:2, 0])
ax1.plot(x, y)

ax2 = plt.subplot(gs[2, 0], sharex=ax1)
ax2.plot(x,y)

plt.show()

请注意,您可以使用 plt.tight_layout()消除轴的重叠

Output plot

关于python - matplotlib:意外的 gridspec 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22721060/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com