Matlab绘制包含双Y轴的图

Posted studyer_domi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Matlab绘制包含双Y轴的图相关的知识,希望对你有一定的参考价值。

绘制数据对左侧 y 轴的图

创建左右两侧都有 y 轴的坐标区。yyaxis left 命令用于创建坐标区并激活左侧。后续图形函数(例如 plot)的目标为活动侧。绘制数据对左侧 y 轴的图。

x = linspace(0,25);y = sin(x/2);yyaxis leftplot(x,y);

绘制数据对右侧 y 轴的图。

使用 yyaxis right 激活右侧。然后,绘制一组数据对右侧 y 轴的图。

r = x.^2/2;yyaxis rightplot(x,r);

添加标题和轴标签

使用 yyaxis left 和 yyaxis right 命令控制坐标区的哪一侧为活动侧。然后添加标题和轴标签。​​​​​​​

yyaxis lefttitle('Plots with Different y-Scales')xlabel('Values from 0 to 25')ylabel('Left Side')
yyaxis rightylabel('Right Side')

基于每一侧绘制其他数据图

使用 hold on 命令再向左侧添加两个线条。向右侧添加一个误差条。新图与对应的 y 轴使用相同的颜色,并循环使用线型序列。hold on 命令同时影响左右两侧。​​​​​​​

hold on
yyaxis lefty2 = sin(x/3);plot(x,y2);y3 = sin(x/4);plot(x,y3);
yyaxis rightload count.dat;m = mean(count,2);e = std(count,1,2);errorbar(m,e)
hold off
 

清除坐标区的一侧

首先激活右侧 y 轴,然后使用 cla 命令清除右侧 y 轴的数据。​​​​​​​

yyaxis rightcla

清除坐标区并删除右侧 y 轴

使用 cla reset 清除整个坐标区数据并删除右侧的 y 轴。

cla reset
 

现在,当您创建绘图时,绘图将仅包含一个 y 轴。例如,基于单个 y 轴绘制三条线条。​​​​​​​

xx = linspace(0,25);yy1 = sin(xx/4); yy2 = sin(xx/5); yy3 = sin(xx/6);plot(xx,yy1,xx,yy2,xx,yy3)

将第二个 y 轴添加到现有图形

使用 yyaxis 向现有图表添加第二个 y 轴。现有绘图和左侧的 y 轴不会更改颜色。右侧 y 轴将使用坐标区色序中的下一种颜色。添加到坐标区中的新绘图使用与对应的 y 轴相同的颜色。​​​​​​​

yyaxis rightrr1 = exp(xx/6);rr2 = exp(xx/8);plot(xx,rr1,xx,rr2)

 

以上是关于Matlab绘制包含双Y轴的图的主要内容,如果未能解决你的问题,请参考以下文章

matlab中如何设置y轴位置,使y轴在x轴的中间,我做的图y轴在X轴的一边了

python 如何绘制子图的同时绘制双坐标轴图像

ECharts关于y轴刻度调整

使用 QWT 和 Microsoft Visual C++ 2010 绘制 MatLab 等效图

使用 twoord.plot 在 R 中使用两个 y 轴绘制线图:缺少第一个 y 轴的值

matlab绘制带箭头的图