如何强制 python 子图具有相等的宽度和单独的高度(gridspec 不起作用)?

2024-04-14

I have the following figure. Equal aspect ratio for each of the axes is a requirement. I'd love the widths to match between subplots and the height to be defined by the aspect ratio of the subplot. attempt1_subplot

I attempted using GridSpec- total mess- it's impossible to shrink the whitespace to make a reasonable plot, so I've got to be doing something wrong: attempt2_gridspec

left  = 0.125  
right = 0.9    
bottom = 0.2   
top = 0.9      
wspace = 0.1  
hspace = 0.1   

fig = plt.figure(5, figsize=(4, 12))
gs = gridspec.GridSpec(5, 1,
                   width_ratios=[1,1,1,1,1],
                   height_ratios=[0.5,1.2,1,1.5,3])
plt.subplots_adjust(left=left,right=right,wspace=wspace,bottom=bottom,top=top,hspace=hspace)

ax1 = plt.subplot(gs[0],aspect='equal',xlim=[0,2],ylim=[0,0.5])
plt.plot(z,z,color='black',zorder=1)                                              
ax1.grid(which='major', alpha=0.5)
sc = plt.scatter(bob1[:-1,4],bob1[:-1,2],cmap=cmap,c=z,s=45,zorder=2)

ax2 = plt.subplot(gs[1],aspect='equal',xlim=[0,1.5],ylim=[0,0.8])
plt.plot(z,z,color='black',zorder=1)                                              
ax2.grid(which='major', alpha=0.5)
major_ticks = np.arange(0, 1.4, 0.4)                                               
ax2.set_xticks(major_ticks)
ax2.set_yticks(major_ticks)
sc = plt.scatter(bob2[:-1,4],bob2[:-1,2],cmap=cmap,c=z,s=45,zorder=2)

ax3 = plt.subplot(gs[2],aspect='equal',xlim=[0,2],ylim=[0,1])
plt.plot(z,z,color='black',zorder=1)                                               
ax3.grid(which='major', alpha=0.5)
sc = plt.scatter(bob3[:-1,4],bob3[:-1,2],cmap=cmap,c=z,s=45,zorder=2)

ax4 = plt.subplot(gs[3],aspect='equal',xlim=[0,2],ylim=[0,1.5],zorder=2)
plt.plot(z,z,color='black',zorder=1)                                              
ax4.grid(which='major', alpha=0.5)
sc = plt.scatter(bob4[:-1,4],bob4[:-1,2],cmap=cmap,c=z,s=45,zorder=2)

ax5 = plt.subplot(gs[4],aspect='equal',xlim=[0,3],ylim=[0,3])
plt.plot(z,z,color='black',zorder=1)                                             
ax5.grid(which='major', alpha=0.5)
major_ticks = np.arange(0, 3, 1.0)                                               
ax5.set_xticks(major_ticks)
ax5.set_yticks(major_ticks)
sc = plt.scatter(bob5[:-1,4],bob5[:-1,2],cmap=cmap,c=z,s=45,zorder=2)

cbar_ax = fig.add_axes([0.8, 0.3, 0.03, 0.4])
cbar = fig.colorbar(sc, cax=cbar_ax)
cbar.set_ticks([0,6.45,13])
cbar.set_ticklabels([14,7,0])

当我想要不同高度的子图(通常在我的情况下)共享 x 轴时,我会这样做:

图,ax = plt.subplots(nrows = 2,sharex = True,gridspec_kw = dict(height_ratios = [1,3]))

plt.subplots_adjust(hspace=0.02) # 等

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

如何强制 python 子图具有相等的宽度和单独的高度(gridspec 不起作用)? 的相关文章

  • Sublime Text 插件开发中的全局 Python 包

    一 总结 我不知道 Sublime Text 插件开发人员如何使用 Sublime Text 查找全局 Python 包 而不是 Sublime Text 目录的 Python 包 Sublime Text使用自己的Python环境 而不是
  • 如何以“正确”的方式处理带有空字节的 Python unicode 字符串?

    Question PyWin32 似乎很乐意将 null 终止的 unicode 字符串作为返回值 我想以 正确 的方式处理这些字符串 假设我得到一个像这样的字符串 u C Users Guest MyFile asy x00 x00sy
  • opencv水印周围的轮廓

    我想在图像中的水印周围画一个框 我已经提取了水印并找到了轮廓 但是 不会在水印周围绘制轮廓 轮廓是在我的整个图像上绘制的 请帮我提供正确的代码 轮廓坐标的输出为 array 0 0 0 634 450 634 450 0 dtype int
  • 用缺失的日期填充其他列 Nan Pandas DataFrame

    我实际上是从几个 Excel 文件中提取数据来监控我的每日卡路里摄入量 我设法使用列表理解来生成日期 我尝试使用合并或连接 但它不起作用 ValueError 您正在尝试合并对象和 float64 列 date list 2021 05 2
  • 为什么删除临时文件时出现WindowsError?

    我创建了一个临时文件 向创建的文件添加了一些数据 已保存 然后尝试将其删除 但我越来越WindowsError 编辑后我已关闭该文件 如何检查哪个其他进程正在访问该文件 C Documents and Settings Administra
  • 如何检查python xlrd库中的excel文件是否有效

    有什么办法与xlrd库来检查您使用的文件是否是有效的 Excel 文件 我知道还有其他库可以检查文件头 我可以使用文件扩展名检查 但为了多平台性我想知道是否有任何我可以使用的功能xlrd库本身在尝试打开文件时可能会返回类似 false 的内
  • 删除 Django 1.7 中的应用程序(和关联的数据库表)

    是否可以使用 Django 1 7 迁移来完全删除 卸载应用程序及其所有跟踪 主要是其所有数据库表 如果没有 在 Django 1 7 中执行此操作的适当方法是什么 python manage py migrate
  • Python 2.7 中的断言对我来说不起作用示例assertIn

    我的 Mac 上安装了 python 2 7 通过在终端中运行 python v 进行验证 当我尝试使用任何新的 2 7 断言方法时 我收到 AtributeError 我看过http docs python org 2 library u
  • Python 中的流式传输管道

    我正在尝试使用 Python 将 vmstat 的输出转换为 CSV 文件 因此我使用类似的方法转换为 CSV 并将日期和时间添加为列 vmstat 5 python myscript py gt gt vmstat log 我遇到的问题是
  • 搜索多个字段

    我想我没有正确理解 django haystack 我有一个包含多个字段的数据模型 我希望搜索其中两个字段 class UserProfile models Model user models ForeignKey User unique
  • Keras:如何保存模型或权重?

    如果这个问题看起来很简单 我很抱歉 但是阅读 Keras 保存和恢复帮助页面 https www tensorflow org beta tutorials keras save and restore models https www t
  • 如何使用文本相似性删除 pandas 数据框中相似(不重复)的行?

    我有数千个数据 这些数据可能相似也可能不相似 使用 python 的默认函数 drop duplicates 并没有真正的帮助 因为它们只检测相似的数据 例如 如果我的数据包含类似以下内容怎么办 嗨 早上好 嗨 早上好 Python 不会将
  • Matplotlib 中 x 轴标签的频率和旋转

    我在下面编写了一个简单的脚本来使用 matplotlib 生成图形 我想将 x tick 频率从每月增加到每周并轮换标签 我不知道从哪里开始 x 轴频率 我的旋转线产生错误 TypeError set xticks got an unexp
  • ANTLR 获取并拆分词法分析器内容

    首先 对我的英语感到抱歉 我还在学习 我为我的框架编写 Python 模块 用于解析 CSS 文件 我尝试了 regex ply python 词法分析器和解析器 但我发现自己在 ANTLR 中 第一次尝试 我需要解析 CSS 文件中的注释
  • 在 keras 中保存和加载权重

    我试图从我训练过的模型中保存和加载权重 我用来保存模型的代码是 TensorBoard log dir output model fit generator image a b gen batch size steps per epoch
  • Mac OSX 10.6 上的 Python mysqldb 不工作

    我正在使用 Python 2 7 并尝试让 Django 项目在 MySQL 后端运行 我已经下载了 mysqldb 并按照此处的指南进行操作 http cd34 com blog programming python mysql pyth
  • SocketIO + Flask 检测断开连接

    我在这里有一个不同的问题 但意识到它可以简化为 如何检测客户端何时从页面断开连接 关闭其页面或单击链接 换句话说 套接字连接关闭 我想制作一个带有更新用户列表的聊天应用程序 并且我在 Python 上使用 Flask 当用户连接时 浏览器发
  • Python SSL X509:KEY_VALUES_MISMATCH

    Python HTTPS server from http server import HTTPServer SimpleHTTPRequestHandler import ssl https stackoverflow com a 408
  • 如何与其他用户一起使用 pyenv?

    如何与其他用户一起使用 pyenv 例如 如果我在用户 test 的环境中安装了 pyenv 则当我以 test 身份登录时可以使用 pyenv 但是 当我以其他用户 例如 root 身份登录时如何使用 pyenv 即使你这么做了 我也会s
  • 使用ssl和socket的python客户端身份验证

    我有一个 python 服务器 需要客户端使用证书进行身份验证 我如何制作一个客户端脚本 使用客户端证书由 python 中的服务器使用 ssl 和套接字模块进行身份验证 有没有仅使用套接字和 ssl 而不扭曲的示例 from OpenSS

随机推荐

  • 如何为 docker 容器的日志着色

    我有一个容器 有时在日志中写入对我来说很重要的关键字 我想在终端中以颜色突出显示该单词 但同样重要的是仍然实时查看所有内容日志 follow 我刚刚尝试过命令 docker logs f my app tail 100 grep color
  • 大于100,000的随机数

    我正在用 C C 编写 我想创建很多大于 100 000 的随机数 我该怎么做呢 和rand 你不会那样做rand 但使用较新的 C 附带的适当随机数生成器 请参见例如cppreference com http en cppreferenc
  • Eclipse android ADT安装问题

    我按照每个步骤使用 Eclipse IDE 安装 android ADT 插件 我在 Windows 7 计算机上安装了 Eclipse for Java 我遵循每一步 尽管做了所有的事情 我还是收到以下错误 没有人犯过这个错误 我很着急请
  • Cython:类似 CPP 字典的地图性能

    我一直在比较使用模仿 python 字典的 c 映射与在 cython 中使用普通 python 字典的性能 我在 sklearn 中编写了 fast dict 实现的 简化 变体 https github com scikit learn
  • 如何在linux中的hdfs超级组中添加用户? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在研究 hdfs 然后我发现某些内容没有为超级用户执行权限检查 如果我的 linux 用户是 sandy 并且我想将 sandy 添加
  • 如何让tinymce(浏览器内的“富编辑器”)保留缩进

    问题 我将 Drupal 与丰富的编辑器一起使用 而丰富的编辑器喜欢通过删除缩进和格式来破坏我的文本 这在桌面编辑器中是不可接受的 但人们似乎可以在浏览器内编辑器中容忍这种情况 问 如何关闭此功能 我已经四处搜索 但尚未找到告诉富编辑器保留
  • 如何将 Javascript 数组传递给 Spring 控制器类

    我创建了 JS 数组并尝试将数组传递给 Controller 类 但它显示了NullPointerException 我通过 FireBug 检查了 URL 其中值正在传递 但在控制器类中 如果我尝试检索它 则显示 NULL JavaScr
  • List 或 IList [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 谁能向我解释为什么我想在 C 中使用 IList 而不是 List 相关问题 为什么暴露被认为是不好的List
  • Ruby 最大整数

    我需要能够确定 Ruby 中的系统最大整数 有人知道怎么做吗 或者是否可能 FIXNUM MAX 2 0 size 8 2 1 FIXNUM MIN 2 0 size 8 2
  • 自动更新 .net 应用程序

    到目前为止 我已经在 net 中编写了 2 个相当大型的应用程序 它们都需要一个更新工具 以便在我推出新代码时自动更新应用程序 我发现 企业应用程序块更新程序 对于我的需求来说有点过于复杂 并且在发布时我发现 单击一次 令人沮丧 我发现的最
  • 错误:unpack_from 需要缓冲区

    我正在使用 struct 来格式化固定分隔的 txt 文件 这是前两行 Sat Jan 3 18 15 05 2009 62e907b15cbf27d5425399ebf6f0fb50ebb88f18 4a5e1e4baab89f3a325
  • 如何将图像路径和名称上传到数据库 - Codeigniter

    我知道这个问题已经被问过好几次了 但是我发现的所有其他问题都与我想要的不同 我想将文件名和文件路径上传到名为 工厂图像 的表 这样做的最佳方法是什么 我的控制器功能 function do upload config upload path
  • 这是 IOC 的典型用例吗?

    我当前的应用程序允许用户通过一组管理屏幕定义自定义 Web 表单 它本质上是一个 EAV 类型的应用程序 因此 我无法对 HTML 或 ASP NET 标记进行硬编码来呈现给定页面 相反 UI 从服务层请求 Form 对象的实例 服务层又使
  • ASP.Net:混合身份验证 Azure AD/表单

    我有一个使用表单身份验证的旧版 Asp Net MVC Razor WebApp 现在 由于某些用户拥有 Azure AD 帐户 因此我添加了一个特殊的 AD 登录按钮以及常用代码以使其正常工作 app UseOpenIdConnectAu
  • 茉莉花量角器打字稿在其块中发生预期故障后继续执行

    我正在使用 Protractor jasmine 框架和打字稿 所以我在describe中有多个it块 所以在每个it块内有很多方法或期望条件我正在验证 因此 当前当其中一个期望失败时 整个块就会终止 所以即使在一步失败后我也想继续执行 下
  • 主题/样式 Angular 2 可重用组件库

    一般问题 我想要设计可重用的 Angular 组件的样式以匹配特定客户端项目的样式 我在一个单独的项目中维护可重用组件 并从中生成一个 npm 包 该包被发布到私有 NPM 存储库 Sinopia 然后安装到多个客户端项目中 当然 一般样式
  • 从 ng-repeat 内部调用 angularjs 属性指令

    我有一个表列对象的集合 我正在使用 ng repeat 对其进行迭代 我正在根据用户想要查看的列动态构建表 每个 TH 标签都调用一个 可排序 指令 如下所示 th Heading th 当自定义属性的值被硬编码时 如上所述 这很好 但是
  • 确定 Any.Type 是否可选

    我正在尝试确定给定类型是否t Any Type 是一个可选类型 我正在使用这个测试 t is Optional
  • XAML 设计器未加载

    我正在尝试开发适用于 Windows 10 的通用应用程序 但 XAML 设计器无法加载 我尝试重新安装 Visual Studio 但似乎没有任何效果 Error System Runtime InteropServices COMExc
  • 如何强制 python 子图具有相等的宽度和单独的高度(gridspec 不起作用)?

    I have the following figure Equal aspect ratio for each of the axes is a requirement I d love the widths to match betwee