MATLAB 双纵坐标轴绘图

1、plotyy(x1,y1,x2,y2) (此方法不推荐使用)
两条曲线x1-y1、x2-y2分别以左右纵轴为纵坐标。

x1 = 0:0.1:5;
y1 = exp(-x1/3);
x2 = 0:0.1:5;
y2 = sin(2*x2); 
plotyy(x1,y1,x2,y2)
legend('y1','y2','location','southwest');
title('plotyy exam')

   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述
2、yyaxis (推荐使用)
创建具有两个 y 轴的图
①yyaxis left: 激活当前坐标区中与左侧 y 轴关联的一侧。后续图形命令的目标为左侧。如果当前坐标区中没有两个 y 轴,此命令将添加第二个 y 轴。如果没有坐标区,此命令将首先创建坐标区。
②yyaxis right: 激活当前坐标区中与右侧 y 轴关联的一侧。后续图形命令的目标为右侧。
③yyaxis(ax,___): 指定 ax 坐标区(而不是当前坐标区)的活动侧。如果坐标区中没有两个 y 轴,此命令将添加第二个 y 轴。指定坐标区作为第一个输入参数。使用单引号将 ‘left’ 和 ‘right’ 引起来。

例1、绘制带有两个 y 轴的数据图
创建左右两侧都有 y 轴的坐标区。基于左侧 y 轴绘制一组数据的图。然后使用 yyaxis right 激活右侧,使后续图形函数作用于该侧。基于右侧 y 轴绘制第二组数据的图,并为右侧 y 轴设置范围。

x = linspace(0,10);
y = sin(3*x);
yyaxis left       %激活y轴左侧绘制函数y
plot(x,y)

z = sin(3*x).*exp(0.5*x);
yyaxis right %激活y轴右侧绘制函数z
plot(x,z)
ylim([-150 150])

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

在这里插入图片描述
例2、为每一侧添加标题和轴标签
创建具有两个 y 轴的图,并为每一侧添加标题和轴标签。

从示例文件 accidents.mat 加载矩阵 hwydata。基于左侧 y 轴和 hwydata 中的第五列数据创建一个散点图。添加标题和轴标签。

x = linspace(0,10);
y = sin(3*x);
yyaxis left       %激活y轴左侧绘制函数y
plot(x,y)
ylabel('函数y的取值范围');   %给y轴左侧添加标签

z = sin(3*x).*exp(0.5*x);
yyaxis right %激活y轴右侧绘制函数z
plot(x,z)
ylim([-150 150]);
ylabel(‘函数z的取值范围’); %给y轴右侧添加标签

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

在这里插入图片描述
例3、在每一侧绘制多组数据

x = linspace(0,10);
yl1 = sin(x);
yl2 = sin(x/2);
yyaxis left          %y轴左侧绘制yl1和yl2两个函数
plot(x,yl1,x,yl2)

 
 
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

x = linspace(0,10);
yl1 = sin(x);
yl2 = sin(x/2);
yyaxis left          %y轴左侧绘制yl1和yl2两个函数
plot(x,yl1,x,yl2)

yr1 = x;
yr2 = x.^2;
yyaxis right %y轴右侧绘制yr1和yr2两个函数
plot(x,yr1,x,yr2)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

在这里插入图片描述

x = linspace(0,10);
yl1 = sin(x);
yl2 = sin(x/2);
yyaxis left          %y轴左侧绘制yl1和yl2两个函数
plot(x,yl1,x,yl2)
% ylabel('yl1、yl2函数')

yr1 = x;
yr2 = x.^2;
yyaxis right %y轴左侧绘制yr1和yl2两个函数
plot(x,yr1,x,yr2)
ylabel(‘yr1、yr2函数’)

yyaxis left %通过激活左侧并使用cla命令来清除左侧函数
cla

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

在这里插入图片描述
例4、控制每侧的颜色
通过将色序设置为您想使用的两种颜色,为坐标区的每侧指定颜色方案。从 R2019b 开始,可以使用 colororder 函数设置色序。然后,基于左侧 y 轴和右侧 y 轴分别绘制两个线条。添加一个图例。

colororder({'b','m'});        %使用 colororder 函数设置色序

x = linspace(0,10);
yl1 = sin(x);
yl2 = sin(x/2);
yyaxis left %y轴左侧绘制yl1和yl2两个函数
plot(x,yl1,x,yl2)
ylabel(‘yl1、yl2函数’)

yr1 = x;
yr2 = x.^2;
yyaxis right %y轴左侧绘制yr1和yl2两个函数
plot(x,yr1,x,yr2)
ylabel(‘yr1、yr2函数’)

legend(‘yl1’,‘yl2’,‘yr1’,‘yr2’,‘location’,‘southwest’)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

在这里插入图片描述

  • 26
    点赞
  • 126
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值