像一维一样循环二维子图

2024-02-14

我正在尝试使用子图绘制许多数据,并且没有遇到麻烦,但我想知道是否有一种方便的方法可以做到这一点。

下面是示例代码。

import numpy as np    
import math 
import matplotlib.pyplot as plt

quantities=["sam_mvir","mvir","rvir","rs","vrms","vmax"
,"jx","jy","jz","spin","m200b","m200c","m500c","m2500c"
,"xoff","voff","btoc","ctoa","ax","ay","az"]

# len(quantities) = 21, just to make the second loop expression 
# shorter in this post.

ncol = 5
nrow = math.ceil(21 / ncol)

fig, axes = plt.subplots(nrows = nrow, ncols=ncol, figsize=(8,6))

for i in range(nrow):
    for j in range(((21-i*5)>5)*5 + ((21-i*5)<5)*(21%5)):
        axes[i, j].plot(tree[quantities[i*ncol + j]]) 
        axes[i, j].set_title(quantities[i*ncol + j])

此代码循环遍历子图的 2D 数组,并在第 21 个图处停止,留下 4 个面板为空。 我的问题是,有没有内置的方法来完成这项任务? 例如,制作 2D 子图数组并将数组“展平”为 1D,然后循环 0 到 20 的 1D 数组。

第二个 range() 中的表达式非常难看。我不认为我会使用这段代码。 我认为最简单的方法是计算图的数量,如果 count > 21 则中断。 但我只是想知道是否有更好(或奇特)的方法。


subplots返回一个 ndarray 轴对象,您可以将其展平或拆解:

fig, axes = plt.subplots(nrows = nrow, ncols=ncol, figsize=(8,6))
for ax in axes.flatten()[:20]:
    # do stuff to ax
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

像一维一样循环二维子图 的相关文章

随机推荐

  • Npm 请以 root/管理员身份再次尝试使用此命令

    我一直在拼命尝试使用 node js 安装模块 但总是无法使用 npm 获取包 我以管理员身份登录 并使用 powershell cmd 和 以管理员身份运行 我也遇到了注册表问题 所以我使用了 npm setregistryhttp re
  • 查找错误 ORA-00932:数据类型不一致:预期 DATE 为 NUMBER

    当我尝试运行此查询时 出现上述错误 有人可以帮我解决这个问题吗 UPDATE CCO ORDER CREATION SET Doc Date 8 9 2013 WHERE Document Number IN 3032310739 3032
  • Linux Eclipse CDT 分析器

    我在 Linux 下使用 Eclipse CDT 请问有人可以在该环境下推荐一个好的分析器吗 我也是 C 和多线程编程的新手 任何人都可以提供一些关于如何运行多线程应用程序分析的建议 例如 寻找性能瓶颈等 Thanks 我不知道这是否是最好
  • 运行hadoop时出错

    haduser user laptop usr local hadoop bin hadoop dfs copyFromLocal tmp input user haduser input 11 12 14 14 21 00 INFO ip
  • 中断并行流执行

    考虑这段代码 Thread thread new Thread gt tasks parallelStream forEach Runnable run 任务是应并行执行的 Runnable 列表 当我们启动这个线程并开始执行时 根据一些计
  • Twitter Bootstrap 默认值的 Flash 消息的自定义类和格式

    我正在将 twitter bootstrap css 集成到我的应用程序中 进展顺利 但我不知道如何为我的 Flash 消息自定义 CSS 和包装器 我希望我的 Flash 消息能够使用默认的 Bootstrap 类进行格式化 div cl
  • 在 Swift 中将 JSON 转换为 NSData,以及将 NSData 转换为 JSON

    我在转换时遇到问题JSON元素进入NSData 和NSData变量返回到JSON在斯威夫特 首先 我想提取encryptedData以下 JSON 数据的元素 transactionID 12345 encryptedData 67 51
  • 如何在laravel eloquent中从多个表中检索数据

    Model relation language php public function attributeDetail return this gt hasMany AttributeDetail class language id att
  • LINQ-to-SQL 中的多个 where 子句和 && 运算符有什么区别?

    看来我可以写一个where x a 1 x b 1 as where x a 1 where x b 1 据我了解后者变成 Where x gt x a 1 Where x gt x b 1 但这如何转化为 DB 呢 哪个在优化方面会更好
  • 如何通过Gitlab CI成功安装fbprophet?

    我正在尝试使用 Gitlab CI 将我的代码 使用 fbprophet 部署为 EC2 实例 my requirements txt file i https pypi org simple cmdstanpy 0 4 convertda
  • 架构arm64的未定义符号

    每次从 CocoaPods 导入文件时 我都会收到 Apple Mach O 链接器错误 Undefined symbols for architecture arm64 OBJC CLASS FBSession referenced fr
  • 如何更改 Material UI 自动完成字体大小?

    我正在尝试将自定义 css 应用到 Material UI Autocomplete 组件 具体来说 我想更改输入字段的字体大小 这是我现在所拥有的
  • 在 Macos High Sierra 上创建并绑定套接字

    我在 Hight Sierra 应用程序中创建套接字时遇到严重且奇怪的问题 如果我创建命令行工具 一切都好 我创建套接字 绑定套接字 但是如果我尝试创建 Cocoa 应用程序 我无法绑定我的套接字 如果我在Cocoa App中使用CFSoc
  • C++ 风格:Stroustrup 指针星号的放置

    有谁知道为什么Stroustrup的风格是指针的放置如下 具体来说 Stroustrup 就此事提供了哪些指导 int p vs int p 因为声明多个变量需要每个变量名称旁边加星号 这会导致 int p x vs int p x 在 K
  • 增加字符串值

    如何增加字符串值 例如 string RECONCILIATION COUNT if thing happens RECONCILIATION COUNT 这通常不起作用 因为不可能以与 int 值相同的方式递增字符串变量 RECONCIL
  • 棋盘游戏胜局 - 搜索算法

    我正在寻找可能有效的算法来检测在 19x19 棋盘上玩的五子棋 五连棋 游戏中的 获胜 情况 当其中一名玩家设法连续获得五颗且不超过五颗 石子 水平 对角线或垂直 时 就会出现获胜情况 我可以轻松访问以下数据 两个玩家之前的动作 石头 存储
  • 如何在选择查询(MySQL)中仅消除连续重复项而不是所有重复项?

    我有一个这样的表 01 Jul 17 100 02 Jul 17 100 03 Jul 17 300 04 Jul 17 300 05 Jul 17 500 06 Jul 17 500 07 Jul 17 300 08 Jul 17 400
  • 如何检测隐藏字段篡改?

    在我的网络应用程序的一种形式上 我有一个隐藏字段 出于安全原因 我需要保护它免遭篡改 我正在尝试提出一个解决方案 通过该解决方案 我可以检测隐藏字段的值是否已更改 并做出适当的反应 即使用通用的 出现问题 请重试 错误消息 该解决方案应该足
  • 对成员 'tableView(_:numberOfRowsInSection:)' 的引用不明确 为什么会出现此错误?

    这是我的代码 其中出现错误 错误出现在第 3 行 if let indexpath override func prepare for segue UIStoryboardSegue sender Any if segue identifi
  • 像一维一样循环二维子图

    我正在尝试使用子图绘制许多数据 并且没有遇到麻烦 但我想知道是否有一种方便的方法可以做到这一点 下面是示例代码 import numpy as np import math import matplotlib pyplot as plt q