前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Matlab绘制包含双Y轴的图

Matlab绘制包含双Y轴的图

作者头像
用户9925864
发布2022-07-27 09:20:42
2.1K0
发布2022-07-27 09:20:42
举报
文章被收录于专栏:算法工程师的学习日志

之前写硕士论文的时候需要同时对比相位图和幅值图,故需要绘制包含双Y轴的图

绘制数据对左侧 y 轴的图

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

代码语言:javascript
复制
x = linspace(0,25);
y = sin(x/2);
yyaxis left
plot(x,y);

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

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

代码语言:javascript
复制
r = x.^2/2;
yyaxis right
plot(x,r);

添加标题和轴标签

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

代码语言:javascript
复制
yyaxis left
title('Plots with Different y-Scales')
xlabel('Values from 0 to 25')
ylabel('Left Side')

yyaxis right
ylabel('Right Side')

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

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

代码语言:javascript
复制
hold on

yyaxis left
y2 = sin(x/3);
plot(x,y2);
y3 = sin(x/4);
plot(x,y3);

yyaxis right
load count.dat;
m = mean(count,2);
e = std(count,1,2);
errorbar(m,e)

hold off
代码语言:javascript
复制

清除坐标区的一侧

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

代码语言:javascript
复制
yyaxis right
cla

清除坐标区并删除右侧 y

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

代码语言:javascript
复制
cla reset
代码语言:javascript
复制

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

代码语言:javascript
复制
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 轴相同的颜色。

代码语言:javascript
复制
yyaxis right
rr1 = exp(xx/6);
rr2 = exp(xx/8);
plot(xx,rr1,xx,rr2)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法工程师的学习日志 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 绘制数据对左侧 y 轴的图
  • 绘制数据对右侧 y 轴的图。
  • 添加标题和轴标签
  • 基于每一侧绘制其他数据图
  • 清除坐标区的一侧
  • 清除坐标区并删除右侧 y 轴
  • 将第二个 y 轴添加到现有图形
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档