当前位置:   article > 正文

matlab 归一化_【Matlab学习秘籍】绘制多个y轴

归一化y轴

98698ac15d2be819c066dcccec65bc2f.png

Matlab在绘图方面非常自由,正规图、私人定制图都不在话下。双y轴图是比较常用的,即同一个x对应两个不同范围的y,Matlab提供了plotyy函数,后续新版本推荐yyaxis函数来代替,相比plotyy函数yyaxis函数更加自由、方便。那么问题来了,一个x对应三个或更多不同范围的y值时怎么办,下面请看我表演。

先看yyaxi的官方帮助文档提供的demo,代码和效果图如下:

x 

f4709d8e86e87fbbb8739a6d7ca5f298.png
yyaxis官方帮助文档demo

在这个基础上,再添加一条曲线,将三个不同范围的y绘制在一个axes里。下面是完整的代码,自行消化、吸收然后化为己用。如果写的不清楚,私聊我提供意见,不胜感激,希望用我的方法能唤醒你的智慧。

% 多y值演示

bc85480ad602c5a67fefd9f3389a61a0.png
多y值demo结果

注意点

以下两段代码,2016B可以忽略,2018B上有点问题。

hold 

0fe378b25143ae184dec847425fec7ca.png
2018B演示结果

解决这个问题的方法也简单,在x最大值处绘制一条线来弥补空白。

【秘籍】

  1. 不同范围的y值统一到同一个水平,比如以第一个y1值为参考,具体的操作方法见代码,分两步走:归一化和反归一化,用到了每组y的最大最小值,反归一化是将归一化后的y映射到y1的范围;
  2. 新建axes专门做y轴,显示数据的真实范围,其中的细节处理见代码,如曲线颜色、背景颜色、标签、刻度位置、边框等等;
  3. 异常情况处理,不要慌,如上面的2018B出现的边框显示不清问题,我想到的解决方法就是在这个位置画一条线来弥补。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/105563
推荐阅读
相关标签
  

闽ICP备14008679号