我需要在一个图中添加两个子图。一个子图需要大约是第二个子图的三倍(相同高度)。我使用 GridSpec
和 colspan
参数完成了此操作,但我想使用 figure
执行此操作,因此我可以保存为 PDF。我可以使用构造函数中的 figsize
参数调整第一个图,但是如何更改第二个图的大小?
原文由 Jason Strimpel 发布,翻译遵循 CC BY-SA 4.0 许可协议
我需要在一个图中添加两个子图。一个子图需要大约是第二个子图的三倍(相同高度)。我使用 GridSpec
和 colspan
参数完成了此操作,但我想使用 figure
执行此操作,因此我可以保存为 PDF。我可以使用构造函数中的 figsize
参数调整第一个图,但是如何更改第二个图的大小?
原文由 Jason Strimpel 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用 gridspec
和 figure
:
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import gridspec
# generate some data
x = np.arange(0, 10, 0.2)
y = np.sin(x)
# plot it
fig = plt.figure(figsize=(8, 6))
gs = gridspec.GridSpec(1, 2, width_ratios=[3, 1])
ax0 = plt.subplot(gs[0])
ax0.plot(x, y)
ax1 = plt.subplot(gs[1])
ax1.plot(y, x)
plt.tight_layout()
plt.savefig('grid_figure.pdf')
原文由 bmu 发布,翻译遵循 CC BY-SA 4.0 许可协议
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
subplots
函数并通过gridspec_kw
传递宽度比matplotlib.gridspec.GridSpec
有可用的gridspect_kw
选项