matplotlib twinx多y轴但单个图例

python之matplotlib制作双Y轴图含详细代码解释 前言:好久没更新啦,最近在参加OCALE全国跨境电商大赛,今天更新的内容是python制作双Y轴图片。 目录 一、函数介绍 二、实际应用 2.1 实验数据展示 2.2 代码实现: 2.3 最终结果显示 一、函数介绍 函数:twin()函数 含义:表示共享x轴,共享表示的就是x轴使用同一刻度 二、实际应用 2.1 实验数据展示 数据表的名称:600001SH.xlsx 2.2 代码实现: 文章里使用到了Subplot()函数,可以参考之前的博客:https://bl.. 阅读详情

matplotlib 用 twinx 画多 y 轴参考 [1]。现想在画图例时,多个 y 轴的图例画在一起,写法参考 [2]。本文展示一个简例,效果:
test.png

Code

  • 要手动指定颜色,否则原 y 轴的用色和新 y 轴会重合。
import matplotlib.pyplot as plt

# data to plot
a = [
    11859.886474338155, 11384.541612887142, 11314.948867713461, 12156.365013852563, 12404.976775275885,
    11621.437786082668, 12795.74640426193, 12993.03181918637, 12501.512233289674, 11350.26629984073,
    11590.587334446433, 11441.306187592794, 11404.947051407049, 11629.51842160388, 11763.034209161266,
    11126.219136054518, 11400.792280787551, 11272.906832672033, 11395.597850760485, 11358.659841616076,
    11379.374326229647, 11365.605541074778, 11396.632268102992, 11331.323431712111, 11332.266958200318,
    11363.32044026967, 11377.021840279784, 11323.601868202895, 11371.723693824233, 11225.02356255239,
    11257.400865610576, 11282.550566847438, 11260.885444273175, 11283.283264922617, 11270.689144877966,
    11252.21701350545, 11260.053691403413, 11253.275771074057, 11263.247947131156, 11291.757634932797,
    11292.976376828668, 11293.690639328725, 11288.613833603356, 11289.25777231545, 11287.238411511518,
    11287.257483993126, 11285.254494562952, 11296.294510594862, 11292.110325229343, 11289.720358617116
]
b = [
    0.8172, 0.8354, 0.8223, 0.8213, 0.8197,
    0.8052, 0.7974, 0.8086, 0.8036, 0.7972,
    0.806, 0.807, 0.7959, 0.7969, 0.8036,
    0.7705, 0.7851, 0.7811, 0.7788, 0.7765,
    0.7832, 0.7816, 0.784, 0.7802, 0.78,
    0.7805, 0.7788, 0.7779, 0.7831, 0.7767,
    0.7782, 0.7791, 0.778, 0.7787, 0.7788,
    0.7781, 0.7783, 0.7776, 0.7779, 0.779,
    0.7791, 0.7791, 0.779, 0.7791, 0.7789,
    0.7788, 0.7788, 0.779, 0.7788, 0.7788
]
assert len(a) == len(b)

fig, ax = plt.subplots()
# 1st y-axis
ln1 = plt.plot(range(len(a)), a, label='a', c='r') # 手动指定颜色,否则可能两线同色
ax.ticklabel_format(style='sci', scilimits=(0,3), axis='y')
ax.set_ylabel('a')
ax.set_xlabel('x')

# 2nd y-axis
zax = ax.twinx()
ln2 = zax.plot(range(len(b)), b, label='b', c='g') # 手动指定颜色,否则可能两线同色
zax.set_ylabel('b')

# legend
lines = ln1 + ln2
labels = [l.get_label() for l in lines]
ax.legend(lines, labels, fancybox=True, framealpha=0)

plt.title("multiple y-axes one legend")

fig.tight_layout()
fig.savefig("test.png", bbox_inches="tight")

References

  1. 【python】matplotlib 实现双(多)Y轴图
  2. Secondary axis with twinx(): how to add to legend
  3. matplotlib刻度值使用科学记数法
Matplotlib多Y轴绘图实战:从原理到避坑指南 在数据可视化领域,多Y轴绘图是一种用于在同一图表中展示多个量纲或数值范围差异巨大数据序列的核心技术。其基本原理是通过创建共享同一X轴但拥有独立Y轴的坐标系,实现不同维度数据的清晰对比,避免因尺度差异导致的信息失真。这项技术的核心价值在于能够高效揭示多变量间的关联与趋势,在金融分析、系统监控和环境监测等需要多维数据关联分析的场景中尤为重要。实践中,Matplotlib的`twinx()`机制和图层化思想是实现灵活多Y轴图表的关键,而Plotly等库则为交互式探索提供了高性能替代方案。掌握多Y轴绘图,能显著提升 阅读详情

相关推荐

多Y轴绘图实战:从原理到Matplotlib避坑指南

在数据可视化中,当需要对比分析多个量纲或数值范围不同的数据序列时,单一Y轴图表往往难以清晰呈现。其核心原理在于通过创建独立的坐标轴或数据变换,使不同序列能在同一视图中保持各自的度量标准。这项技术对于揭示变量间的关联性、同步趋势具有重要价值,广泛应用于金融分析、工程监控、环境监测等场景。通过Matplotlib等工具实现时,需特别注意坐标轴对齐、颜色编码与图例合并等工程细节,以避免视觉误导。本文深入解析了双Y轴、图层归一化等方案,并提供了完整的代码示例与常见问题排查技巧,帮助读者掌握这一关键的数据呈现技能。

weixin_30706691的博客 467

python数据绘图-使用twinx双轴叠加制作帕累托图

介绍帕累托图的应用场景,以及在matplotlib.pyplot模块中使用twinx()函数叠加坐标轴的方式制作帕累托图

weixin_47198715的博客 1613

Matplotlib双Y轴实战:从基础绘图到高级图例合并技巧

本文详细介绍了使用Matplotlib创建双Y轴图表的实战技巧,从基础绘制到高级图例合并方法。通过电商销售数据分析案例,展示如何利用`twinx()`方法实现双坐标轴,并解决图例分离问题,提升数据可视化效果。适合需要同时展示不同量纲数据的分析场景。

weixin_42524308的博客 327

Python中matplotlib.pyplot中的twinx()函数

# Implementation of matplotlib function import numpy as np import matplotlib.pyplot as plt from matplotlib.widgets import TextBox fig, ax = plt.subplots() plt.subplots_adjust(bottom = 0.2) t = np.arange(-2.0, 2.0, 0.001) s = np.sin(t)+np.cos(2

明德zhuang 1万+

Python实现双X轴双Y轴绘图

Python微信订餐小程序课程视频 https://blog.csdn.net/m0_56069948/article/details/122285951 Python实战量化交易理财系统 https://blog.csdn.net/m0_56069948/article/details/122285941 诈尸人口回归。这一年忙着灌水忙到头都掉了,最近在女朋友的提醒下终于想起来博客的账号密码,正好今天灌水的时候需要画一个双X轴双Y轴的图,研究了两小时终于用Py实现了。找资料的过程中没有发现有系统的文章,反

m0_56069948的博客 6570

深入浅出matplotlib(17):双Y轴显示时把图例显示到一起

前面学习过怎么样在同一个坐标系里显示双Y轴的数据,可以完善地解决了不同的曲线数据按不同的Y轴来绘制,这样尽可能地占用显示区域,看起来比较美观的问题,解决有于数据差距太大,导致一些数据曲线压缩的问题。但是在解决这个问题时,还留下了一个小问题并没有解决,看下图: 从这里可以看到,图例分成两个显示,如果想合并到一起,要怎么办呢?其实要解决这个问题,并不太好处理,因为两个数据分两个坐标轴显示的,每次调用plt.legend都只会显示那个Y轴坐标轴的图例,并不能同时显示两个图例。难道就这样算了,不作处理了吗?显

大坡3D软件开发 2741

(四)Matplotlib基础操作

前言 Matplotlib是Python数据可视化工具包。在机器学习领域中,我们经常需要把数据可视化,以便观察数据的模式。此外,在对算法性能进行评估时,也需要把模型相关的数据可视化,才能观察出模型里需要改进的地方。例如,我们把算法的准确度和训练数据集大小的变化曲线画出来,可以清晰地看出训练数据集大小与算法准确度的关系。这就是我们需要学习Matplotlib的原因。 1. 基本图表绘制 在绘制图表之前要先引入Matplotlib库,相应的代码通常写成“import matplotlib.pyplo...

风影楼的博客 1513

国产操作系统替换方案:3个避坑指南

坑核心误区避坑核心原则关键动作坑一:选型只看信创信创目录=唯一标准兼容性优先,信创是约束三维评估(兼容性+信创+生态),分场景选型坑二:迁移只管能跑功能能跑=迁移成功性能确认+运维回归适配-压测-回归三阶段,基线对比坑三:不防二次迁移解决停服=完成任务一步到位,两级兼容信创路线优先,双轨制发布,终态规划。

weixin_43524706的博客 294

matplotlib 双y轴 双坐标轴 plt.twinx()

plt.twinx() 或者 axis.twinx()

Caiqiudan的博客 2251

浅谈武术擂台格斗机器人大赛

武术擂台机器人赛是工科类专业的一个跨学科的竞赛项目,它涵盖了机械结构、硬件电路和计算机程序等技术领域。笔者在校期间有幸参加过四次这样的比赛,有成功也有失败,对此深有感悟。本文仅为个人观点,有说得不对的地方,望积极指出,希望能帮助到有需要的人。

weixin_43811044的博客 1万+

PyFluent进阶实战:自动化密闭几何(Watertight)网格生成

本文深入探讨了如何利用PyFluent实现自动化密闭几何(Watertight)网格生成。通过Python脚本控制Fluent Meshing工作流,工程师可以高效、一致地完成从几何导入、局部尺寸定义、面网格生成到边界层设置和体网格输出的全过程,从而将复杂的CFD前处理工作转化为可重复、可集成的自动化流程,极大提升仿真效率和知识复用性。

t8u9v0w1x的博客 577

Python教程:matplotlib 绘制双Y轴曲线图

前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 作者:数据皮皮侠 双X轴的 可以理解为共享y轴 ax1=ax.twiny() ax1=plt.twiny() 双Y轴的 可以理解为共享x轴 ax1=ax.twinx() ax1=plt.twinx() 自动生成一个例子 x = np.arange(0., np.e, 0.01) y1 = np.exp(-x) y2 = np.log(x) fig = ...

Python案例分享,B站视频教程:https://space.bilibili.com/523606542 2万+

HFSS/ADS仿真实操:手把手调优一个2.4GHz SAW滤波器的IDT结构

本文详细介绍了使用HFSS和ADS仿真工具优化2.4GHz表面声波滤波器(SAW)的IDT结构。从材料参数设置到IDT建模,再到参数化扫描与频率调谐,提供了实用的操作步骤和优化技巧,帮助工程师快速掌握SAW滤波器的设计方案与性能调优方法。

weixin_29197835的博客 530

python绘图时如何添加图例_【Python】matplotlib 双y轴绘制及合并图例

1.双y轴绘制 关键函数:twinx()问题在于此时图例会有两个。# -*- coding: utf-8 -*-import numpy as npimport matplotlib.pyplot as pltfrom matplotlib import rcrc('mathtext', default='regular')time = np.arange(10)temp = np.random....

weixin_39830175的博客 2533

LoFTR训练避坑指南:从零到一复现论文训练流程

本文是一份详细的LoFTR模型训练避坑指南,旨在帮助开发者从零开始复现论文训练流程。文章系统性地讲解了环境配置、数据准备、代码调试与显存优化等关键步骤,并针对常见的训练错误提供了解决方案,确保训练过程顺利进行。

weixin_29091837的博客 204

机器人控制基础:伺服驱动器的泄放电阻

摘要:伺服驱动器泄放电阻用于消耗电机减速或制动时产生的再生电能,防止母线电压过高损坏元件。其核心作用是将多余电能转化为热能,规避硬件损坏和停机风险。选型需关注功率、阻值和封装三大参数,功率应匹配再生能量,阻值需符合驱动器要求,封装应满足散热需求。可通过动态监测母线电压或静态检测电阻阻值来判断其是否正常工作。

start_up_go的博客 380

如何使用MatPlotLib绘制出具有两个 Y 轴的曲线图?

简 介: 本文给出了利用Matplotlib中的 twinx() 完成同一个图表中绘制具有两个 Y-轴的曲线。绘制每一个曲线的方法与普通的Plot没有什么两样。 关键词: matplotlib,双Y轴 #mermaid-svg-SsRJ7ZfWKpMLrQEB .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-sv..

TSINGHUAJOKING 4812

ESM2蛋白预训练模型 蛋白质、氨基酸向量表示

参考: https://github.com/facebookresearch/esm https://huggingface.co/facebook/esm2_t33_650M_UR50D https://esmatlas.com/resources?action=fold tokenizer_对输入蛋白会头尾添加cls、eos特殊字符,占两个字符长度 参考:https://github.com/facebookresearch/esm 直接clone下来代码

weixin_42357472的博客 1万+

Python Matplotlib 多 Y 轴图形绘制技巧:从双轴到四轴,一文掌握图表美化方法

在matplotlib中,绘制多Y轴图形常常使用twinx()方法。

Stark_Fng的博客 8432

uniapp - 解决控制台提示“同步资源失败,未得到同步资源的授权,请停止运行后重新运行,并注意手机上的授权提示”,uniApp安卓/苹果App真机运行调试显示同步资源失败,无任何授权提示且无法连接

uni-app,报错,安卓Android,苹果ios,安卓app端,苹果App端,uniapp苹果安卓app,提示错误解决,HbuilderX,uniapp同步资源失败,未得到同步资源的授权,请停止运行后重新运行,并注意手机上的授权提示同步失败,安卓基座调试,没有反应,真机没有提示怎么办,如何解决这个问题,苹果ios手机,电脑模拟器运行,adb连接,连接失败,报错出错,uniapp真机运行的时候显示同步资源失败,未得到同步资源的授权,plugins里面没有tools,找不到tools,还是不行,重新打基座

🏆 前端领域优质创作者 1万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

python绘图时如何添加图例_python - 带有twinx()的辅助轴:如何添加到图例?

python - 带有twinx()的辅助轴:如何添加到图例?我有一个带有两个y轴的图,使用twinx().我也给线条标签,并想用legend()显示它们,但我只能成功获得图例中一个轴的标签:import numpy as npimport matplotlib.pyplot as pltfrom matplotlib import rcrc('mathtext', default='regul...

weixin_39872044的博客 1060

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

matplotlib设置同一个图中不同y轴刻度

matplotlib设置同一个图中不同y轴刻度: 设置x轴相同,不同的y轴刻度: fig = plt.figure() ax1 = fig.add_subplot(111) ax1.plot(plot_loss, 'r-',label='smoothL1 loss') ax1.plot(plot_dis, 'b-', label='L1 Distance...

Elvirangel的博客 5114

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

python画图|两个Y轴共享X轴

学习了两个Y轴共享X轴的基础教程,尝试探索了3个Y轴共享X轴。

专注python+工程实践的热心婶子 1700

Matplotlib多Y轴图表绘制全攻略:从双轴到四轴的实战技巧

在数据可视化领域,多维度数据对比分析是常见的核心需求。其基本原理是通过创建共享同一X轴但拥有独立Y轴的多个坐标系,实现不同量纲数据序列在同一图表中的清晰展示。这项技术对于揭示多变量间的关联与趋势具有重要价值,广泛应用于金融分析、物联网监控和业务运营等场景。通过掌握坐标轴叠加、轴线位置调整和图例合并等关键技术,可以构建出专业的多Y轴图表,有效解决数据范围差异大导致的展示难题,提升数据分析效率与洞察力。本文以Matplotlib的twinx()函数和spines操作为基础,深入讲解从双Y轴到四Y轴的完整实现方案

weixin_30819085的博客 493

【Python基础绘图】多y轴绘制

【Python基础绘图】多y轴绘制

HMXNX的博客 6787

Matplotlib多Y轴图表绘制全攻略:从双轴到四轴的布局与美化

在数据可视化领域,多Y轴图表是解决不同量纲数据序列在同一坐标系下对比分析的关键技术。其核心原理是通过创建多个独立的Y轴,使每个轴负责映射一个数据序列的尺度,从而避免因数值范围差异导致的图表可读性问题。这项技术的价值在于能够清晰展示多变量间的关联与趋势,广泛应用于金融分析、系统监控、气象观测等需要多维度数据对比的场景。通过Matplotlib的twinx()方法可以便捷地创建双Y轴,但在处理三轴、四轴图表时,常会遇到图例合并、刻度干扰、布局混乱等挑战。本文深入探讨了脊柱偏移、图例整合等实战技巧,帮助开发者绘制

weixin_34342207的博客 470
上一篇: rime打不了字
下一篇: numpy用savez_compressed压缩数据
HackerTom
博客等级 码龄11年 719粉丝 392原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值