python - 优化Python中许多子图之间的空间
问题描述
我正在使用一个循环来创建一系列子图,这些子图由每个垂直位置的 2 个水平图组成。可以有许多垂直位置,通常为 50-100 个。我无法优化地块之间的间距。当我使用循环创建图时,我拥有的垂直位置越多,每个水平图之间的间隙就越大。我希望这些图更接近,因为每个水平配对都是我试图展示的相关图像。
我曾尝试使用subplots_adjust(wspace=...)
,plt.tight_layout()
和subplots(constrained_layout=True)
,但都没有运气。
附加图像中提供了一个包含 10 个垂直图像的小阵列的示例(我知道我需要最后调整轴标签,但对于本示例而言,这无关紧要)
我错过了什么?我相信一定有办法做到这一点。
谢谢
解决方案
没有代码来重现您的问题,很难预测解决方案。也许你可以matplotlib.gridspec
合理地结合使用figsize
。
# use reasonable figure size
fig = plt.figure(constrained_layout=True, figsize = (8, 20))
# create gridspec
gs = gridspec.GridSpec(ncols=2, nrows=8, figure=fig)
# add random plots
for i in range(8):
ax1 = fig.add_subplot(gs[i, 0])
ax2 = fig.add_subplot(gs[i, 1])
# random data
x1, y1, x2, y2 = np.random.normal(size = (4, 25))
ax1.scatter(x1, y1, color = 'r')
ax2.scatter(x2, y2, color = 'b')
推荐阅读
- git - 修复混乱的分支历史
- python - Matplotlib 散点图,每个点都有不同的文本
- python - cx-Oracle 找不到 Oracle 客户端库
- android - 以横向反应导航打开屏幕
- google-app-engine - 无法为 Java GCP App Engine 项目提供自定义 app.yaml 文件
- visual-studio-code - 单击“解决保存冲突”上的错误按钮后,我可以在 VSCode 上恢复文件的不同版本吗?
- javascript - 使用 StrictTemplate 分配模板引用变量?
- git - 如何管理两个链接的 GitHub 存储库
- database - springboot中如何互换配置数据库
- layer - 删除和编辑 acrobat 图层