matplotlib 中是否存在用于在子图中定义子图网格的工具?

2023-12-03

我想使用一个绘图布局,其中 9 个不同的数据簇布置在方形网格上。网格中的每个方框包含 3 个并排布置的箱线图。

我最初的想法是,这适合 3x3 子图布局,每个单独的子图本身都分为 3x1 子图布局。

我见过这个:在 matplotlib 的子图中嵌入小图它似乎可以让您在子图中定义单独的、手动放置的图。然而,将子图空间递归地分割成


我认为嵌套的 gridspec 示例here就是你正在寻找的。

我已将他们的示例改编为您所描述的网格模式的模型,该模型使用 gridspec 创建轴列表,然后迭代其索引以填充它们。这种方法应该符合您对“3x3 子图布局,每个单独子图本身被划分为 3x1 子图布局”的需求。

import matplotlib as mpl
from matplotlib import gridspec
from matplotlib import pyplot as plt

f= plt.figure(figsize=(5, 5))
gs = gridspec.GridSpec(3, 3, wspace=0.5, hspace=0.2) #these are the 9 clusters

for i in range(9):
    nested_gs = gridspec.GridSpecFromSubplotSpec(1, 3, subplot_spec=gs[i], wspace=0.5) # 1 row, 3 columns for each cluster

    for j in range(3): #these are the 3 side by side boxplots within each cluster
        ax = plt.Subplot(f, nested_gs[j])
        ax.text(0.5, 0.5, "ax%d" % (i+1), va="center", ha="center", fontsize=9)
        
        #ax.boxplot(data) # this is where you'd add your boxplots to the axes
        
        # the following just cleans up each axes for readability
        for tl in ax.get_xticklabels():
            tl.set_visible(False)
        for tl in ax.get_yticklabels():
            tl.set_visible(False)
            if ax.is_first_col():
                tl.set_visible(True)
                tl.set_fontsize(9)
        f.add_subplot(ax)

f.savefig('nested_subplot.png')

我希望这可以帮助您入门。

编辑以包含图像:

enter image description here

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

matplotlib 中是否存在用于在子图中定义子图网格的工具? 的相关文章

  • python matplotlib 保存图形而不显示

    我想创建一个直方图并将其保存到文件中而不将其显示在屏幕上 我现在拥有的代码默认显示该图 我找不到任何方法来抑制显示该图 我也尝试过 pyplot hist nrs 也有同样的问题 import math time matplotlib py
  • 添加图例到散点图

    这个问题已经被问到了 但我想找到一个更清晰的解决方案 给定 X 是 100x2 数据 标签是标签向量 从 1 到 9 我绘制散点图如下 pl scatter X 0 X 1 c labels pl show 如何仅用一行代码添加图例来解释颜
  • 有没有办法降低 scipy/numpy 精度以减少内存消耗?

    在我的 64 位 Debian Lenny 系统 4GByte RAM 4GByte 交换分区 上 我可以成功执行以下操作 v array 10000 random 512 512 512 dtype np int16 f fftn v 但
  • 绘制长方体

    我正在尝试使用 matplotlib 绘制不同大小的长方体 这样 旋转后 长方体不会以非物理方式在视觉上重叠 立方体具有不同的颜色和围绕它们绘制的框 我读过几篇博客文章和 stackoverflow 页面引用类似的问题 但总是有细微的差别
  • AttributeError:模块“matplotlib”没有属性“font_manager”

    我安装了 matplotlib 但 python 3 8 10 显示了这个错误 AttributeError module matplotlib has no attribute font manager What i am doing w
  • imshow 如何处理具有 M x N x 4 输入的 alpha 通道?

    生长激素问题 3343 http github com matplotlib matplotlib issues 3343 我正在使用imshowmatplotlib 中的函数可可视化一些数据 我有两个数组 A and B 它们的大小相同
  • 在 Spyder 中使用 input() 时 Matplotlib 冻结

    Windows 7 如果我在命令行打开一个普通的 ipython 终端 我可以输入 import matplotlib pyplot as plt plt plot 1 2 3 4 5 plt show block False input
  • 如何在 matplotlib 图中显示数据

    I m trying to make an interactive plot in the jupyter notebook but i don t know exactly how to implement it Having a dat
  • 如何向 3D 表面添加文本

    我使用plot surface 创建了具有平行四边形底座的矩形棱柱 我需要向其中一个表面添加一些文本 我试过ax text 3 0 5 1 red 1 1 0 color red 但文本在表面上不可见 import matplotlib p
  • 如何将人物传奇带到前台?

    我有一系列子图 其中每个子图都有一个图例 我想在每个子图之外与相邻子图重叠 问题在于图例位于其自己的图的 顶部 但位于相邻图的下方 Legend 不将 zorder 作为参数 所以我不知道如何解决这个问题 这是我使用过的代码 import
  • 使用 Matplotlib 的范围绘制图像的 3D 轮廓

    正如我所介绍的here https stackoverflow com questions 18792624 fits image input to a range in plot python 在二维中 我想知道如何 缩放 要绘制到绘图中
  • matplotlib matshow 标签

    我一个月前开始使用 matplotlib 所以我仍在学习 我正在尝试用 matshow 制作热图 我的代码如下 data numpy array a reshape 4 4 cax ax matshow data interpolation
  • 在 matplotlib 中使用一组标量值对球体表面着色

    我对 matplotlib 相当陌生 这也是我的第一个问题 我试图代表脑电图记录的头皮表面电位 到目前为止 我已经有了一个球体投影的二维图形 它是使用轮廓生成的 并且几乎可以归结为普通的热图 有什么方法可以在半个球体上完成此操作吗 即生成一
  • Matplotlib pyplot - 刻度控制和显示日期

    My matplotlib pyplot有太多xticks 目前显示 15 年期间的每年和每月 例如 2001 01 但我只希望 x 轴显示年份 例如 2001 年 输出将是一个折线图 其中 x 轴显示日期 y 轴显示销售和租金价格 Def
  • 将每个数组的散点移动 delta x

    I m trying to sort out a plot which at the moment looks like this 我正在尝试找出如何针对不同的情况进行轮班dx每个数据集的值 在这种模式下 系列的最后一项保持在中心 在这种情
  • 合并两个 matplotlib 图形,并排,高质量

    我生成了两个 matplotlib 图形 尺寸为 1000x1000 每个图都是基于 4x4 子图的图 我想要一个尺寸为 1000x2000 宽度为 2000 的图形 fig1
  • 具有指定置信区间的 Seaborn 条形图

    我想在 Seaborn 条形图上绘制置信区间 但我已经计算出置信区间 如何让 Seaborn 绘制我的置信区间而不是尝试自行计算它们 例如 假设我有以下 pandas DataFrame x pd DataFrame Group 1 0 5
  • 如何识别图形线条

    我有以下格式的路径的 x y 数据 示例仅用于说明 seq p1 p2 0 20 2 3 1 20 2 4 2 20 4 4 3 22 5 5 4 22 5 6 5 23 6 2 6 23 6 3 7 23 6 4 每条路径都有多个点 它们
  • 在 matplotlib 中分割图例

    是否有可能将一个大图例分成多个 通常是 2 个 较小的图例 from pylab import t arange 0 0 2 0 0 01 s sin 2 pi t plot t s linewidth 1 0 label Graph1 g
  • 向二元 kdeplot 添加标签

    我喜欢 Seaborn 的例子多个双变量 KDE 图 https seaborn pydata org examples multiple joint kde html 但我希望在该示例中使用标准 matplotlib 图例而不是自定义标签

随机推荐

  • AWS RDS 是否支持 MySQL 作为文档存储

    我能够连接普通的AWS RDS MySQL实例 5 7 16 但是 由于我必须使用 MySQL 作为文档存储 因此我通过安装 mysqlx 插件配置了 MySQL 实例 这是文档存储所需的 此后 我尝试连接同一实例上端口 33060 上的
  • YouTube 嵌入视频开始/停止事件

    我想知道 通过 iframe 嵌入 YouTube 视频是否会暴露某些事件 例如 onStart 或 onStop 您可以在其中指定一些回调 这是处理启动和停止事件的示例 HTML 文件 index html
  • 如何在 Spring Boot 中将 Json 字节数组转换为 AMQP?

    按照此 我有这个代码 Bean open fun messageConverter om ObjectMapper MessageConverter return Jackson2JsonMessageConverter om Bean o
  • 在 PySpark 2.0 中读取序列文件

    我有一个序列文件 其值如下所示 string value json value 我不关心字符串值 在 Scala 中我可以通过以下方式读取文件 val reader sc sequenceFile String String path va
  • 如何使用 PyGame 计时器事件?如何使用计时器向 pygame 屏幕添加时钟?

    我是 python 新手 因此决定尝试制作一个简单的游戏pygame 我想添加一个计时器 时钟来显示 你已经玩了 生存了多长时间 所以基本上创建了一个时钟 然而 我四处搜寻并得到了time sleep 1 它确实可以作为时钟使用 但它会减慢
  • 将多个 Intent 从单个 Activity 发送到另一个 Activity

    我对 android 很陌生 我正在尝试将用户输入的数据 他们的名字 发送到另一个活动 我过去能够使用意图在活动之间发送单行 但我无法弄清楚如何将两个不同的字符串发送到两个不同的 TextView 这是到目前为止我的 MainActivit
  • 使用 jQuery 解析 JSON

    我正在尝试使用 jQuery 解析以下 JSON 并获取每个 id 值 有人可以建议吗 id 1 name Boat id 2 name Cable 到目前为止我有 each test function i item alert item
  • 在 R 中查找数组中最接近元素的最快方法

    我想找到 R 中最快的方法来识别 Ytimes 数组中最接近给定 Xtimes 值的元素索引 到目前为止 我一直在使用一个简单的 for 循环 但必须有更好的方法来做到这一点 Xtimes lt c 1 5 8 10 15 19 23 34
  • Swift / 如何使用 popViewController 调用委托

    我读过了这个线程 以及类似的其他 从下到上 但它根本不符合我的需求 我有一个UIViewController inside UIPageViewController在一个UINavigationController 导航到第二个 ViewC
  • C# 事件去抖

    我正在监听硬件事件消息 但我需要对其进行反跳以避免太多查询 这是一个发送机器状态的硬件事件 我必须将其存储在数据库中以用于统计目的 有时它的状态会经常变化 闪烁 在这种情况下 我只想存储 稳定 状态 并且我想通过在将状态存储到数据库之前简单
  • Base64 编码的图像未在 Gmail 中显示

    我有一封嵌入的 HTML 电子邮件 其中我使用base64编码图像 通过 Chrome 访问时 图像不会在 Gmail 中显示 但当通过邮件客户端 Mac 上的邮件应用程序 访问相同的邮件时 它工作正常 我已正确设置标题 任何想法 My c
  • 如何从 WCF 中的客户端消息检查器获取标头值

    我正在为我正在处理的某些服务创建一个 Web 测试客户端 作为其要求的一部分 我希望能够显示完整的请求和响应 SOAP 消息 以及向用户显示的 HTTP 标头 我实现了一个 MessageInspector 类实现IClient消息检查器
  • C# 如何在按住鼠标按钮时循环

    你能为我指出正确的方向吗 我试图在按下表单按钮时触发循环 pseudocode While button1 is pressed value1 1 当然 当释放按钮时停止循环 为了避免使用线程 您可以添加Timer表单 控件上的组件 只需在
  • 如何使用Hibernate将初始数据导入数据库?

    在部署应用程序时 我经常使用 Hibernate 的创建数据库模式的功能来简化部署 通过配置 hibernate hbm2ddl auto 属性可以轻松实现这一点 但是 有时我还需要向数据库插入一些初始数据 例如 root 用户 有没有办法
  • 如何从 JSON 对象中删除条目?

    helper to turn PSCustomObject into a list of key value pairs function Get ObjectMembers CmdletBinding Param Parameter Ma
  • Android 获取设备中已安装的默认浏览器

    我能够在启动器的帮助下获取所有应用程序Intent CATEGORY LAUNCHER 因此 为了进行测试 我创建了一个测试活动 该活动包含一个按钮 如果我按下该按钮 它应该显示设备中的应用程序 NOTE it should not dis
  • VB.NET:“MySql.Data.MySqlClient.Replication.ReplicationManager”的类型初始值设定项引发异常

    我不知道可能出了什么问题 但这就是我尝试启动该程序时得到的结果 类型初始值设定项MySql Data MySqlClient Replication ReplicationManager抛出异常 问题似乎来自conn Open 这是我的代码
  • 查找排序数组并集中的第 k 个最小元素

    我正在研究关于在两个排序数组的并集中查找第 k 个最小元素的文章leetcode 我不认为该算法是正确的 有这样一行 我们观察到 当 Ai 对于任何一个人来说 这怎么可能是真的呢 i and j 其次 这句话也让我困惑 我们尝试通过比较 A
  • 安装 RMySQL 会出现错误 RS-MySQL.h:32:19: fatal error: mysql.h: No such file

    我尝试安装 RMySQL 库 R 版本 2 14 2 32 位 WinXP 但收到以下错误消息 install packages D R library RMySQL 0 9 3 tar gz repos NULL type source
  • matplotlib 中是否存在用于在子图中定义子图网格的工具?

    我想使用一个绘图布局 其中 9 个不同的数据簇布置在方形网格上 网格中的每个方框包含 3 个并排布置的箱线图 我最初的想法是 这适合 3x3 子图布局 每个单独的子图本身都分为 3x1 子图布局 我见过这个 在 matplotlib 的子图