将第三个子图放在第二行 python 的中间

2024-01-01

我有一个由 3 个子图组成的图形。我想将最后一个子图定位在第二行中间。目前它位于图的左下角。我该怎么做呢?我找不到堆栈溢出的答案。

    fig, axes = plt.subplots(nrows=2, ncols=2, figsize=(13,10))
    ax= axes.flatten()
    ax[0].plot(vDT, np.cumsum(mWopt0[asset0,:])*percentage/iTT, label= 'COAL, c = 0')
    ax[0].legend()
    ax[0].set_title('Proportion in most invested stock')
    ax[1].plot(vDT, np.cumsum(mWopt01[asset01,:])*percentage/iTT, label= 'OINL, c = 0.1')
    ax[1].plot(vDT, np.cumsum(mWopt03[asset03,:])*percentage/iTT, label= 'OINL, c = 0.3')
    ax[1].plot(vDT, np.cumsum(mWopt05[asset05,:])*percentage/iTT, label= 'OINL, c = 0.5')
    ax[1].plot(vDT, np.cumsum(mWopt2[asset2,:])*percentage/iTT, label= 'OINL, c = 2')
    ax[1].plot(vDT, np.cumsum(mWopt5[asset5,:])*percentage/iTT, label= 'OINL, c = 5')
    ax[1].plot(vDT, np.cumsum(mWopt10[asset10,:])*percentage/iTT, label= 'OINL, c = 10')
    ax[1].legend()
    ax[1].set_title('Proportion in most invested stock')
    ax[2].plot(vDT, np.cumsum(mWopt01[index,:])*percentage/iTT, label= 'c = 0')
    ax[2].plot(vDT, np.cumsum(mWopt01[index,:])*percentage/iTT, label= 'c = 0.1')
    ax[2].plot(vDT, np.cumsum(mWopt03[ index,:])*percentage/iTT, label= 'c = 0.3')
    ax[2].plot(vDT, np.cumsum(mWopt05[index,:])*percentage/iTT, label= 'c = 0.5')
    ax[2].plot(vDT, np.cumsum(mWopt2[index,:])*percentage/iTT, label= 'c = 2')
    ax[2].plot(vDT, np.cumsum(mWopt5[index,:])*percentage/iTT, label= 'c = 5')
    ax[2].plot(vDT, np.cumsum(mWopt10[index,:])*percentage/iTT, label= 'c = 10')
    ax[2].legend()
    ax[2].set_title('Proportion invested in index')
    ax[0].set_ylabel('Expanding window weight')
    ax[1].set_ylabel('Expanding window weight')
    ax[2].set_ylabel('Expanding window weight')
    ax[3].remove()
    fig.autofmt_xdate(bottom=0.2, rotation=75, ha='right')
    plt.savefig('NSE_por_unrestricted_mostweightSI.jpg', bbox_inches='tight')
    plt.show()

matplotlib.gridspec.Gridspec解决您的问题,并可以传递给plt.subplot. In 这个答案 https://stackoverflow.com/questions/34799488/how-to-manually-position-one-subplot-graph-in-matplotlib-pyplot,您可以看到 4x4 网格可用于轻松地将绘图定位在中间:

import matplotlib.gridspec as gridspec
import matplotlib.pyplot as plt

gs = gridspec.GridSpec(4, 4)

ax1 = plt.subplot(gs[:2, :2])
ax1.plot(range(0,10), range(0,10))

ax2 = plt.subplot(gs[:2, 2:])
ax2.plot(range(0,10), range(0,10))

ax3 = plt.subplot(gs[2:4, 1:3])
ax3.plot(range(0,10), range(0,10))

plt.show()

您可以在此处查看 gridspec 的演示:https://matplotlib.org/tutorials/intermediate/gridspec.html#sphx-glr-tutorials-intermediate-gridspec-py https://matplotlib.org/tutorials/intermediate/gridspec.html#sphx-glr-tutorials-intermediate-gridspec-py

唯一的问题是你正在使用fig, axes =模式,我不认为它通常与Gridspec。您需要进行一些重构。

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

将第三个子图放在第二行 python 的中间 的相关文章

随机推荐

  • Java的compareTo方法的实际应用是什么?

    在我正在学习的Java教科书中 它说这使用 字典顺序 来返回一个整数 我明白它是如何工作的 但是它在编程中的具体使用方式是什么 所有内置排序方法在对非基元进行排序时都使用它
  • 在ubuntu上安装最新QT的最简单方法

    我需要在我的 ubuntu docker 容器上安装 QT 5 10 从源代码编译是毫无疑问的 因为它需要几个小时 而且我的电脑几乎崩溃了两次 直到内存耗尽 QT 安装程序来自https www qt io download https w
  • 如何在 Scala 中编程以向前兼容 Dotty

    在最近的talk http www infoq com presentations data types issues在 Strange Loop 上 Martin Odersky 阐述了他对 Scala 未来版本 Dotty 的愿景 我知
  • Framework.session.storage_id 的有效值是多少?

    在 Symfony 配置中有一个条目framework session storage id 此设置也出现在默认配置中Symfony 配置文档 http symfony com doc current reference configura
  • 如何在 Access VBA 中使用 INSERT INTO SELECT 查询?

    我有一张名为 学生 的表 其中包含学生的信息 例如姓名 另一个名为 Exam 的表 其中包含考试日期和学生姓名作为主键 我有一个表格 可用于从列表框中选择多个学生 然后将其插入到所选日期的考试表中 我相信我的语法是正确的 因为如果我使用 A
  • 读取h5数据集python的一部分

    我正在从 h5 文件中读取大量数据 每个数据集 200 000 个点 而且我目前不需要全部数据 因此我一直在读取数据 然后将其截断 有没有办法只读取 h5 数据集的前 X 项 用这个 import numpy as np import h5
  • AWS S3 CORS 403 选项请求错误

    我试图通过 ajax 请求访问驻留在 S3 中的 html 文件 但收到 403 错误 我在网上看到AWS说 如果我这样做 我需要设置AWS CORS规则来修复403错误 然而 我已经尝试了两天了 但没有任何运气 这是我的 CORS 配置
  • 使用 t-sql 仅加入“最新”记录

    我有两张桌子 表 B 与表 A 是一对多的关系 这意味着表 A 中的一条记录在表 B 中会有多条记录 表 B 中的记录主要通过日期来区分 我需要生成一个结果集 其中包含表 A 中的记录 仅与latest记录在表 B 中 为了便于说明 这里有
  • 如何在JS中获取给定周数的日期范围

    如果该周恰好在连续 2 个月内 我需要知道该周所属的确切月份 例如 2016年的第52周是2016年12月和2017年1月 另外2017年的第5周是从2017年1月30日至2月5日开始 因此 给定一年中的周数 我可以得到它所属的月份吗 我需
  • 如何在react-native cli中升级core-js@3?

    我正在尝试创建新项目react nativecli 但是当我创建一个新项目时 我收到以下错误消息 反应本机 gt 创建反应类 gt fbjs gt 电子邮件受保护 cdn cgi l email protection core js 下面列
  • 在 Applescript 中实现键盘音量控制按钮 - 在循环内设置音量不起作用

    背景 我有一个 MacAlly IceKey 键盘 该键盘具有需要驱动程序才能运行的音量按钮 该驱动程序自 2006 年以来就没有更新过 我怀疑它是我在 Mac OS X 10 6 1 下遇到的最近反复发生的内核恐慌的根源 所以 它就出去了
  • Chrome 扩展:拦截 HTTP 响应

    我看到很多页面都在讨论如何拦截来自站点的 HTTP 响应 我正在尝试这个 Chrome 扩展 如何获取 HTTP 响应正文 https stackoverflow com questions 18534771 chrome extensio
  • jmeter:我可以使用 jmeter JMeter“JMS 点对点”将消息发送到 MSFT Azure 服务总线队列吗?

    我有 xml 消息并希望将它们发送到 MSFT ASB 队列 用JMeter可以吗JMS 点对点 如果是的话怎么办 无法弄清楚如何配置 我所拥有的只是一个到 ASB 的连接字符串 提前致谢 反馈1 INFO o a q j s SaslMe
  • C#中如何播放声音?

    我已经尝试过这个 但我有兴趣从我的程序开始的地方播放声音 这样我的项目文件夹中有 wav 文件 SoundPlayer simpleSound new SoundPlayer yay wav simpleSound Play 谢谢 这样我的
  • 当 div 的位置是绝对的时,将其与页面中心对齐?

    我怎么能够align a DIV到我页面的中心 而其position is absolute 如果可能的话without使用 JavaScript UPDATE 这是一个旧答案目前的答案就在这个下面 https stackoverflow
  • 如何保留计算的 GEOMETRY 或 GEOGRAPHY 列

    我正在尝试在 SQL Server 2008 下创建一个表 其中包含GEOMETRY列及其计算的变化 考虑下表 其中计算列返回缓冲的几何图形 CREATE TABLE dbo Test Geometry GEOMETRY NOT NULL
  • 使用 asp.net 会员资格有哪些优点和缺点?

    我正在构建一个新网站 一位朋友建议我使用 asp net 会员资格进行身份验证过程 登录 注册 密码恢复等 我看到所有内容都存储在 XML 文件中 我想知道使用会员资格而不是从头开始构建东西有什么优点和缺点 MS登录解决方案由几个部分组成
  • 如何在 C# 中的 datagridview 中仅打印选中的行

    我有一个 Datagridview 它有一个复选框列 当标准数据加载时 所有行都会被检查 但我需要取消选中其中一些 将其值发送到 var 并打印它 是否可以 Exemple ColumnCheckBox Column1 Column2 Co
  • 如何解决下拉菜单中的白点边框问题?

    在我网站的下拉菜单中 元素的顶部 左侧和右侧边框设置为灰色 底部边框设置为白色 这在 FF3 Chrome 中完美运行 实现具有连续边框的漂亮下拉菜单 但是 我在 FF4 和 IE9 中看到左侧有一个白点 我认为问题是 在 FF3 中 左下
  • 将第三个子图放在第二行 python 的中间

    我有一个由 3 个子图组成的图形 我想将最后一个子图定位在第二行中间 目前它位于图的左下角 我该怎么做呢 我找不到堆栈溢出的答案 fig axes plt subplots nrows 2 ncols 2 figsize 13 10 ax