如何在一个图中制作超过10个子图?

2024-03-10

我正在尝试制作 5x4 的子图网格,通过查看示例,在我看来最好的方法是:

import matplotlib.pyplot as plt
plt.figure()
plt.subplot(221)

其中子图 (22) 中的前两个数字表示它是一个 2x2 网格,第三个数字表示您正在制作 4 个网格中的哪一个。然而,当我尝试这个时,我必须去:

plt.subplot(5420)

我收到错误:

ValueError: Integer subplot specification must be a three digit number.  Not 4

那么这是否意味着你不能制作超过 10 个子图,或者有办法解决它,还是我误解了它的工作原理?

先感谢您。


您可能正在寻找GridSpec http://matplotlib.org/users/gridspec.html。您可以指定网格的大小 (5,4) 和每个图的位置(行 = 0,列 = 2,即 - 0,2)。检查以下示例:

import matplotlib.pyplot as plt

plt.figure(0)
ax1 = plt.subplot2grid((5,4), (0,0))
ax2 = plt.subplot2grid((5,4), (1,1))
ax3 = plt.subplot2grid((5,4), (2, 2))
ax4 = plt.subplot2grid((5,4), (3, 3))
ax5 = plt.subplot2grid((5,4), (4, 0))
plt.show()

,结果如下:

您是否应该构建嵌套循环来构建完整的网格:

import matplotlib.pyplot as plt

plt.figure(0)
for i in range(5):
    for j in range(4):
        plt.subplot2grid((5,4), (i,j))
plt.show()

,你会得到这个:

这些图的工作方式与任何子图相同(直接从您创建的轴调用它):

import matplotlib.pyplot as plt
import numpy as np

plt.figure(0)
plots = []
for i in range(5):
    for j in range(4):
        ax = plt.subplot2grid((5,4), (i,j))
        ax.scatter(range(20),range(20)+np.random.randint(-5,5,20))
plt.show()

,结果是:

请注意,您可以为图提供不同的大小(说明每个图的列数和行数):

import matplotlib.pyplot as plt

plt.figure(0)
ax1 = plt.subplot2grid((3,3), (0,0), colspan=3)
ax2 = plt.subplot2grid((3,3), (1,0), colspan=2)
ax3 = plt.subplot2grid((3,3), (1, 2), rowspan=2)
ax4 = plt.subplot2grid((3,3), (2, 0))
ax5 = plt.subplot2grid((3,3), (2, 1))
plt.show()

, 所以:

在我一开始给出的链接中,您还会找到删除标签等内容的示例。

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

如何在一个图中制作超过10个子图? 的相关文章

随机推荐

  • vue vite动态组件导入

    我正在将现有的 laravel ineria 从 mix 迁移到 vit 我完成了迁移指南中的所有步骤 除了一件事之外 一切正常 我有一个组件接收一个包含组件数组的道具 我曾经这样要求它们 在循环内 this options compone
  • BSD md5 与 GNU md5sum 输出格式?

    任何人都知道为什么 BSD md5 程序会产生这种格式的哈希输出 MD5 checksum md5 9eb7a54d24dbf6a2eb9f7ce7a1853cd0 而 GNU md5sum 会产生像这样更合理的格式 9eb7a54d24d
  • iOS 图表 - 单个值不显示 Swift

    当我在折线图上的一条线的数组中有多个点时 一切都会完美显示 但当只有一个点时 该点就不会显示 我不知道为什么 代表被设置在其他地方 但这似乎不是问题 以下示例显示了测试 2 和测试练习 第一个图像中每个图像都有一个值 第二个图像中每个图像都
  • 如何获取给定一天的本周的所有日期时间实例?

    给定一天 我想获取该天所在星期的所有天 日期时间实例 我有一个解决方案 如果有问题请纠正我是否存在更有效的方法 gt gt gt import datetime gt gt gt today datetime datetime 2013 0
  • Spring Boot 处理 SizeLimitExceededException

    我使用 Spring boot 1 5 7 我还没有配置 CommonsMultipartResolver 因为 Spring Boot 已经处理文件上传了 如果我的上传超过允许的最大大小 则会抛出一个丑陋的异常 这是由我的控制器处理的 C
  • Makefile :自动编译所有c文件,将.o文件保存在单独的文件夹中

    我所拥有的是一个包含 3 个子目录的目录 src 用于 c 和 h 文件 bin 是编译后的可执行文件应该存放的位置 obj 是我希望 obj 文件存放的位置 现在我希望 makefile 编译 src 中的每个 c 文件 无需将它们全部列
  • 我怎样才能用python挤出一个stl

    我正在尝试转换png图像转 3Dstls 我终于找到了一种方法来做到这一点 但有一个问题 现在导出的图像没有 z 值 也没有厚度 我这样做的方式是针对图像上的白色像素 将三角形绘制到表面上 def define faces numpy ar
  • XSL:FO float 用于显示页边注释 - 破坏文档

    我有一份大型中世纪手稿 已转录为 XML 使用 TEI 模式 我正在使用 xsl fo 和 Apache FOP 处理 PDF 该文件是使用嵌套构造的 p p
  • 更新 Github 上分叉存储库的多个分支

    我有一个分叉的 github 存储库 称为 repo O 称为我的分叉 repo F 其中包含大约 8 个分支 其他贡献者已在 repo O 的多个分支上对 repo O 进行了多次 100 次 提交 我现在想将这些更改放入我的分叉存储库
  • 使用强制布局避免 d3.js 中链接纵横交错/重叠

    如何使用强制布局避免 d3 js 中的链接重叠 我将屏幕分为两半 上半部分节点使用链接连接到下半部分节点 有时链接会纵横交错 我该如何避免这种情况 简短的回答是你不能 更长的答案是 D3 实现的力布局对于防止重叠链接没有任何作用 并且没有可
  • 如何检查 url 是否加载到 webview 中

    我使用下面的代码在 android webview 中加载 url webviewShowPost loadUrl URL 我想检查是否没有可用的数据连接 然后 webview 可以显示没有连接的 Toast 而不是显示空白视图 Thank
  • 推送通知徽章自动递增

    我一直在为我的应用程序实现推送服务 并且我一直在考虑应用程序的徽章 我的应用程序是一个邮件应用程序 有点 我想通过推送通知用户添加到收件箱的新消息 我想要徽章 收件箱中的新消息数 我想在服务器端 提供商 检查新消息并将数字作为徽章发送 问题
  • 尝试在测试中运行 Rails c 时将 config.eager_load 设置为 nil

    我正在尝试运行轨道 4 1 2 安慰 rails c RAILS ENV test 我得到这个 gt config eager load is set to nil Please update your gt config environm
  • 如何在 osx 上安装 pycairo?

    我正在尝试安装pycairo http cairographics org pycairo Python 绑定开罗图形库 http cairographics org 在 OSX 下 我开始于 easy install pycairo 并得
  • 如何在python中将tcp服务器放在另一个线程上

    我尝试用 python 编写一个守护进程 但我不知道如何使用线程在这个守护进程中启动并行 tcp 服务器 甚至我应该使用什么类型的服务器 asyncore SocketServer socket 这是我的代码的一部分 import os d
  • Fabricjs 计数对象

    有没有办法使用 Fabric js 来计算画布中已有多少对象 function addImage imageName fabric Image fromURL image path imageName function image imag
  • 带有标题的剩余图像网格?

    作为对此的扩展question https stackoverflow com questions 10219634 image grid in restructuredtext sphinx 如何使用 Sphinx 和 reStructu
  • 当我关闭选项卡时 JS ServiceWorker 会发生什么

    当您关闭所有执行 Web Worker 的选项卡时 Worker 将关闭 同样的事情也会发生在 Service Worker 身上吗 与此相关的有两个方面 服务人员登记 这是浏览器中保存的记录 表示 对于此 URL 这些事件应由此脚本处理
  • PHP 从 SimpleXMLElement 数组获取值

    我有这个 1 gt object SimpleXMLElement 6 1 attributes gt array 14 name gt string 5 MySQL acknowledged gt string 1 1 comments
  • 如何在一个图中制作超过10个子图?

    我正在尝试制作 5x4 的子图网格 通过查看示例 在我看来最好的方法是 import matplotlib pyplot as plt plt figure plt subplot 221 其中子图 22 中的前两个数字表示它是一个 2x2