如何调整 matplotlib 中每隔一行子图之间的间距

2024-04-01

我希望水平调整子图之间的空间。特别是在每隔两行之间。我可以使用调整每一行fig.subplots_adjust(hspace=n)。但是否可以将其应用于每第二行?

import matplotlib.pyplot as plt

fig, ax = plt.subplots(figsize = (10,10))
plt.style.use('ggplot')
ax.grid(False)

ax1 = plt.subplot2grid((5,2), (0, 0))
ax2 = plt.subplot2grid((5,2), (0, 1))
ax3 = plt.subplot2grid((5,2), (1, 0))  
ax4 = plt.subplot2grid((5,2), (1, 1))
ax5 = plt.subplot2grid((5,2), (2, 0))
ax6 = plt.subplot2grid((5,2), (2, 1)) 
ax7 = plt.subplot2grid((5,2), (3, 0))
ax8 = plt.subplot2grid((5,2), (3, 1))

fig.subplots_adjust(hspace=0.9)

Using the subplots below I'm hoping to add a space between rows 2 and 3 and keep the rest as is. enter image description here


您可以交错两个网格,以便每个第二个子图之间有更大的间距。

为了说明这个概念:

import matplotlib.pyplot as plt
from matplotlib.gridspec import GridSpec

n = 3 # number of double-rows
m = 2 # number of columns

t = 0.9 # 1-t == top space 
b = 0.1 # bottom space      (both in figure coordinates)

msp = 0.1 # minor spacing
sp = 0.5  # major spacing

offs=(1+msp)*(t-b)/(2*n+n*msp+(n-1)*sp) # grid offset
hspace = sp+msp+1 #height space per grid

gso = GridSpec(n,m, bottom=b+offs, top=t, hspace=hspace)
gse = GridSpec(n,m, bottom=b, top=t-offs, hspace=hspace)

fig = plt.figure()
axes = []
for i in range(n*m):
    axes.append(fig.add_subplot(gso[i]))
    axes.append(fig.add_subplot(gse[i]))

plt.show()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何调整 matplotlib 中每隔一行子图之间的间距 的相关文章

随机推荐

  • 在Interface Builder中设计UITableView的节标题

    我有一个xib文件带有UITableView我想使用委托方法添加自定义节标题视图tableView viewForHeaderInSection 有没有可能设计成Interface Builder然后以编程方式更改其一些子视图属性 My U
  • 遗留代码中的泛型

    我们有相当多的代码刚刚跳转到 Java 5 我们一直在那些打算在 Java 5 版本中发布的组件中使用泛型 但是剩下的代码当然充满了原始代码类型 我已将编译器设置为生成原始类型错误并开始手动清除它们 但按照目前的速度 这将需要very很长时
  • 什么样的日志记录对您的应用程序来说是好的日志记录?

    因此 我们已经讨论了在我的工作地点进行登录 我想知道这里的一些人是否可以给我一些关于你们的方法的想法 通常我们的场景是 根本没有日志记录 并且大多数是 NET 应用程序 winforms WPF 客户端通过 Web 服务进行通信或直接与数据
  • 如何知道推送通知发送状态

    我正在应用程序中使用推送通知 一切都很顺利 有时从服务器发送的消息但在应用程序端它没有收到 在这种情况下 我必须知道缺少哪条消息无法传递 应用程序未收到 有没有办法从服务器端知道应用程序收到了哪些消息 哪些没有收到 不 推送通知是一劳永逸的
  • 如何在 Laravel Passport 中获取刷新令牌?

    我正在使用 Laravel 6 7 并尝试使用Passport用于用户身份验证 我可以在用户注册时为他们创建访问令牌 这是代码 user User create input user gt createToken auth token 正如
  • NUnit 与 Windows Phone 7 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想使用 NUnit 对我的 Windows Phone 7 库进行单元测试 是否有与 Windows Phone 7 兼容的 NUnit
  • 通过 React App 的数据表按钮

    在 React 中工作时 我在尝试添加 Excel 导出按钮时遇到了问题 我认为它与导入有关 但在这方面我在网上找不到太多与 React 和 DataTables net 相关的帮助 我只希望用户能够下载到 Excel 这些是我与 jque
  • 我在使用 log4js-protractor-appender 时遇到麻烦

    我的 log4js js 文件代码 use strict var log4js require log4js var log4jsGen getLogger function getLogger log4js loadAppender fi
  • 模块错误“模块是使用不兼容的 Kotlin 版本编译的。其元数据的二进制版本是 1.5.1,预期版本是 1.1.16”

    我正在为我们的项目编写一个 kotlin 库 完成后 我构建了一个 aar 文件并将其发送给团队 但他们有一个错误 Module was compiled with an incompatible version of Kotlin The
  • 如何使用tensorflow keras在网络中一起使用嵌入层和其他特征列

    让我们考虑一个包含 6 列和 10 行的示例数据集 这 3 列是数字 其余 3 列是分类变量 分类列被转换为大小为 10x3 的多热编码数组 我有目标列 我想要预测它也是分类变量 它可以再次采用 3 个可能的值 这一列是一个热编码的列 现在
  • Webpack 开发服务器 (webpack-dev-server) 热模块替换 (HMR) 不起作用

    我已经在 StackOverflow 和 GitHub 问题上查看了许多答案 但是 我仍然陷入 Webpack 中的热模块替换中 我在用npm start运行我的服务器webpack dev server hot inline 我正在尝试更
  • 如何使用 FOP 在 XSL-FO 中保留表头但允许在表体内分页

    我正在使用 Apache FOP 和 XSL FO 样式表生成 PDF 在 PDF 中 我输出属于表格的标题 html 相当于 h1 因此应始终保持在一起 但是 我的表格也可能包含太多数据 以至于一页纸上不一定能容纳得下 期望的结果是一个规
  • 如何防止可拖动的子元素相互拖动?

    如何防止可拖动子元素在绝对位置相互拖动 就像是 if firstChild position left gt secondChild position left this draggable disabled true 但这只会在停止拖动时
  • 从android将多个图像保存到mysql php中,但只插入一张图像

    我在活动 A 中有三个列表视图 如下所示 当提交button点击后 文字和图片路径将被保存到MySQL和image将被存储在PhotoUpload文件夹 我能够将 3 个文本存储到 MySQL 中 但问题是只有一个图像路径保存到 MySQL
  • 将某些值排序到顶部

    我有一个 MySQL 表 其中包含以下数据 简化 INSERT INTO stores storeId name country VALUES 1 Foo us 2 Bar jp 3 Baz us 4 Foo2 se 5 Baz2 jp 6
  • 尝试安装 pecl 扩展时在 mac os x 10.7.3 上出现 $PHP_AUTOCONF 错误

    我正在尝试使用 pecl http 和 memcache 设置我的机器 在这两种情况下 我都会遇到类似的错误 这是在 MAC OS X 10 7 3 lion 上 我也在上面安装了 XCODE 在运行这些命令之前 我还安装了 Zend Se
  • 沿着“bresenham”线平滑颜色插值

    我正在尝试沿一条线插值颜色 以便给定两个点及其各自的 RGB 值 我可以绘制一条具有平滑颜色渐变的线 使用布雷森纳姆的线条算法 我现在可以绘制线条 但不确定如何开始在两个端点之间插值颜色 以下是 drawLine 函数的一部分 适用于斜率小
  • 返回多个结果集的查询

    我有一个MSSQL数据库并正在运行以下查询 select from projects select from user 上面的查询一次返回两个结果集 我无法单独触发这两个查询 如何在 Java 类中同时处理两个结果集 处理多个的正确代码Re
  • 用 emacs 替换 ssh+screen+editor

    我的目标是远程编写代码 到目前为止 我一直在使用 ssh screen 编辑器 例如 vim 我知道使用本地 emacs 或 vim 可以编辑远程文件 但是 一旦本地 emacs 关闭并且我想重新打开它 或使用另一台计算机打开它 我需要再次
  • 如何调整 matplotlib 中每隔一行子图之间的间距

    我希望水平调整子图之间的空间 特别是在每隔两行之间 我可以使用调整每一行fig subplots adjust hspace n 但是否可以将其应用于每第二行 import matplotlib pyplot as plt fig ax p