使用MATLAB画上下两个横坐标与左右两个纵坐标

3 篇文章 5 订阅
订阅专栏

上下两个横坐标

有时候画图会使用不同单位画在同一个曲线图中,希望两个单位分布在上下两个横坐标中。示例使用MATLAB 2016B

同一条曲线对应两个坐标轴

使用位置设置让两个坐标系叠在一起:
position = [0.15 0.2 0.75 0.6];
set(gca,‘xaxislocation’,‘top’,‘yaxislocation’,‘left’,‘position’,position);
sin\theta

theta_degree = 0:360;
theta_rad = theta_degree/180*pi;
position = [0.15 0.2 0.75 0.6];
plot(theta_degree,sin(theta_rad),'Linewidth',4);   %这里画的被后面的覆盖了
set(gca,'xaxislocation','top','yaxislocation','left','position',position);
set(gca,'XTick',0:30:360);           %设置x轴刻度
xlabel('Degree');
set(gca,'Linewidth',2,'Fontsize',20,'box','on');
axes;
plot(theta_rad,sin(theta_rad),'Linewidth',4);hold on
xlabel('Rad');
set(gca,'xaxislocation','bottom','yaxislocation','right','position',position);
set(gca,'yticklabel',[]);
h = legend('sin\theta');
set(h,'box','off');			%不画方框
set(gca,'Linewidth',2,'Fontsize',20,'box','on');

两条曲线分别对应两个坐标轴

注意使用’color’,'none’将坐标系背景设置为透明,使得上一个坐标系能够显示.同时还要注意,坐标系的框要去掉,‘box’,‘off’,不然坐标刻度会叠在一起。
sin\theta sin2\theta

theta_degree = 0:360;
theta_rad = theta_degree/180*pi;
position = [0.15 0.2 0.75 0.6];
plot(theta_degree,sin(theta_rad),'Linewidth',4);
set(gca,'xaxislocation','top','yaxislocation','left','position',position);
set(gca,'XTick',0:50:360);           %设置x轴刻度
xlabel('Degree');
set(gca,'Linewidth',2,'Fontsize',20,'box','off');
axes;
plot(theta_rad,sin(theta_rad*2),'Linewidth',4,'color','k');
xlabel('Rad');
set(gca,'xaxislocation','bottom','yaxislocation','right','color','none','position',position);
set(gca,'yticklabel',[]);
set(gca,'Linewidth',2,'Fontsize',20,'box','off');

但是这样两条曲线就不能legend到一起了,因为变成了两个坐标系,只是通过设置位置重合在一起。解决办法就是像上一个一样,将第一个坐标系覆盖,color 不要设置为透明,把所有图都画到第二个坐标系。如下:
在这里插入图片描述

theta_degree = 0:360;
theta_rad = theta_degree/180*pi;
position = [0.15 0.2 0.75 0.6];
plot(theta_degree,sin(theta_rad),'Linewidth',4);
set(gca,'xaxislocation','top','yaxislocation','left','position',position);
set(gca,'XTick',0:50:360);           %设置x轴刻度
xlabel('Degree');
set(gca,'Linewidth',2,'Fontsize',20,'box','on');
axes;
plot(theta_rad,sin(theta_rad),'Linewidth',4);hold on
plot(theta_rad,sin(theta_rad*2),'Linewidth',4,'color','k');
xlabel('Rad');
set(gca,'xaxislocation','bottom','yaxislocation','right','position',position);
set(gca,'yticklabel',[]);
h = legend('sin\theta','sin2\theta');
set(h,'box','off');
set(gca,'Linewidth',2,'Fontsize',20,'box','on');

适用于R2019b及更高版本的新方法

https://ww2.mathworks.cn/help/matlab/creating_plots/graph-with-multiple-x-axes-and-y-axes.html

使用tiledlayout函数代替了上述手动编写position的功能,tiledlayout函数与subplot函数类似,但是可以自由配置绘图,功能更多。

theta_degree = 0:360;
theta_rad = theta_degree/180*pi;
% position = [0.15 0.2 0.75 0.6];
t = tiledlayout(1,1);
ax1 = axes(t);
% plot(theta_degree,sin(theta_rad),'Linewidth',4);
plot(ax1,theta_degree,sin(theta_rad),'Linewidth',4);
% set(gca,'xaxislocation','top','yaxislocation','left','position',position);
set(gca,'xaxislocation','top','yaxislocation','left');
set(gca,'XTick',0:60:360);           %设置x轴刻度
xlabel('Degree');
set(gca,'Linewidth',2,'Fontsize',20,'box','on');
% axes;
ax2 = axes(t);
% plot(theta_rad,sin(theta_rad),'Linewidth',4);hold on
% plot(theta_rad,sin(theta_rad*2),'Linewidth',4,'color','k');
plot(ax2,theta_rad,sin(theta_rad),'Linewidth',4);hold on
plot(ax2,theta_rad,sin(theta_rad*2),'Linewidth',4,'color','k');
xlabel('Rad');
% set(gca,'xaxislocation','bottom','yaxislocation','right','position',position);
set(gca,'xaxislocation','bottom','yaxislocation','right');
set(gca,'yticklabel',[]);
h = legend('sin\theta','sin2\theta');
set(h,'box','off');
set(gca,'Linewidth',2,'Fontsize',20,'box','on');

结果与上图相同。

左右两个纵坐标

使用上述方法同样可以实现两个纵坐标画到一个图,但是MATLAB提供了另一个方便的函数来实现:yyaxis left和yyaxis right (之前的MATLAB版本里面是通过plotyy函数实现)。

theta_degree = 0:360;
theta_rad = theta_degree/180*pi;
position = [0.15 0.2 0.75 0.6];
yyaxis left
plot(theta_degree,sin(theta_rad),'Linewidth',4);hold on

yyaxis right
plot(theta_degree,sin(theta_rad*2),'Linewidth',4);
xlabel('Degree');
set(gca,'XTick',0:50:360);           %设置x轴刻度
h = legend('sin\theta','sin2\theta');
set(h,'box','off');
set(gca,'Linewidth',2,'Fontsize',20,'box','on');

在这里插入图片描述

MATLAB纵坐标绘图(重要)
onlyfanlala的博客
01-20 1万+
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') 2、yyaxis (推荐使用) 创建具有两个 y 轴的图 ①yyaxis left: 激活当前坐
MATLAB作图实例:5:双轴图
phymat.nico的专栏
07-24 760
MATLAB作图实例:5:双轴图 - 知乎【MATLAB】进阶绘图 ( 双 y 轴图形 | plotyy 函数 | Histogram 统计图形 | hist 函数 )_韩曙亮的博客-CSDN博客 https://jingyan.baidu.com/article/ea24bc394492f29b63b33124.html Matlab 绘制双y轴柱状图_yyyyydddd1的博客-CSDN博客_matlab双y轴柱状图...
matlab 绘图实现双X轴单Y轴 plotxx.m
04-30
之前用matlab画图的时候,想一个双x轴单Y轴图像,自己写了好久都没有实现,最后在matlab的官网上找到了这个函数,可以实现双X轴双Y轴的绘图,然后就可以利用ax.Yaxixs.Visible='off',就可以隐藏一个Y轴实现双X轴,单Y轴的绘图。
matlab使用教程(67)—绘制双y轴图
最新发布
配电网和matlab的博客
05-10 744
以下示例演示如何使用yyaxis函数创建左侧和右侧带有y轴的图表。此外,它还演示如何标记每个轴、合并多个绘图以及清除与两侧或其中一侧关联的绘图。
matlab plot 双横坐标,matlab用plotyyA函和plotxxB生成双xy轴曲线_matlab
weixin_39542043的博客
03-16 1372
matlab用plotyy(A)函和plotxx(B)生成双x/y轴曲线,具体程序如下:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%功能:多重x\y轴曲线的绘制%输入:向量x1,y1,x2,y2%输出:在同一个曲线图中,有两套x坐标轴(可以的话可以做两套y轴)%%%%%%%%...
MATLAB画图(一个坐标系,两个横坐标
weixin_65207065的博客
12-19 1090
【代码】MATLAB画图(一个坐标系,两个横坐标
matlab画图坐标轴和多坐标轴代码
墨叔的博客
04-17 1万+
matlab的绘图模块相比于其他软件要好看很多,可以使用句柄出很漂亮的图,下面介绍plot坐标轴图和双坐标轴图,另附上多坐标轴图的代码下载 一、单坐标轴图 直接使用plot(x,y)即可,x为横坐标的矩阵,y为纵坐标的矩阵,具体用法参见https://blog.csdn.net/sinat_21026543/article/details/80215281,写的特别详细,建议大家去看看 二、双坐标轴图 在matlab中双坐标轴图的法通常使用plotyy函数,具体...
Matlab绘制包含双Y轴的图
qingfengxd1的博客
09-05 1万+
绘制数据对左侧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); 添加标题...
MATLAB纵坐标绘图plotyy实例
qq_43015237的博客
01-12 3281
1.简易实用版 a = rand(10,1); b = rand(10,1); h = plotyy(1:10,a,1:10,b); grid xlabel('X标签'); d1 = get(h(1),'ylabel'); set(d1,'string','y轴名1'); d2 = get(h(2),'ylabel'); set(d2,'string','y轴名2'); legend('折线1'...
matlab建立双坐标
我的乌托
12-27 740
set(gca,'xaxislocation','bottom','xticklabel',{'0','1','2','3','4'}) (假设x轴的标注为1,2,3,4)双y轴坐标可以用plotyy(x,y1,x,y2)来实现。
Matlab之双坐标轴绘制plotyy
珞瑜的博客
03-10 1万+
目录 一、函数功能 二、示例 1.使用不同y轴绘制两个数据集 2.添加主题和轴标签 3.更改线性 4.组合不同类型的绘图 5.对两个数据集使用右y轴 一、函数功能 plotyy(X1,Y1,X2,Y2) 绘制Y1对X1的图,在左侧显示y轴标签,并同时绘制Y2对X2的图,在右侧显示y轴标签。 二、示例 1.使用不同y轴绘制两个数据集 x = 0:0.01:20; y1 = 200*exp(-0.05*x).*sin(x); y2 = 0.8*exp(-0.......
AddSecondAxis:Addsecondaxis 是一个简单的函数,它在现有绘图上添加第二个横坐标纵坐标。-matlab开发
05-30
Addsecondaxis 是一个简单的函数,它在现有的坐标轴上添加第二个横坐标纵坐标阴谋。 与 plotxx 或 plotyy 不同,它不绘制新曲线。 如果希望看到相同的曲线作为 2 个不同的横坐标纵坐标的函数,则 Addsecond 轴...
基于MATALB双Y轴坐标画图,基于MATLAB的双坐标画图,可以实现一个图两个Y轴,把不同的量纲数据展现一个图上
06-05
基于MATLAB的双Y轴坐标画图,很多时候不同的因素数量级差别很大,又想放到同一个图上进行画图展示曲线走势的相关性,这个时候就需要用到双轴坐标系,一个用于数量级较大的,一个用于数量级小的,本代码可以实现双...
阴影区域误差条图:带有填充面积曲线的误差条图。-matlab开发
05-29
此函数使用半透明背景绘制一组数据的平均值和标准偏差,填充正负平均误差之间的空间,完全可定制。 输入参数: -数据:数据矩阵,其中的行对应于观测值,而列对应于样本。 - 选项:(可选)包含自定义参数的结构。 *...
matlab与数值分析课件:matlab绘图与编程(3).ppt
05-07
本节内容主要介绍MATLAB绘图与程序设计的基本知识,包括二维和三维基本绘图命令、plot命令的使用、绘制二维和三维图形等。 一、MATLAB 绘图与程序设计基本知识 MATLAB提供了一个专门的图形窗口,所有的绘图命令都...
数学建模大赛使用MATLAB解算炼油厂的选址,记得有一年的数据建模大赛试题以及MATLAB程序
08-29
本问的炼油厂选址范围应在0<横坐标x、0<纵坐标y,的矩形区域内。可以把问题转化为:在该矩形区域内找一点使其满足总费用最少。 问题三: 本问的两个炼油厂的选址纵横坐标都应在[0,82]的范围内。问即可转化成在该...
【MATALB学习笔记】绘图——采用双坐标轴并定制坐标轴颜色
qq_53350487的博客
09-18 1703
在绘图过程中,有时候数据的度量标准不一样,如果采用同一个坐标轴就会出现有些数据趋势不能够得到充分反映的情况或者轴与数据不匹配的现象,为此需要设置副坐标轴去解决该问题。这只是一个基础的示例,实际中还会有更具体的、更细致的要求,这就需要再做额外调整;另外本人也仍在学习中,这只是个人的学习笔记,可能还有一些不足之处,欢迎指正。
Matlab坐标轴制图
萝卜丝儿皮尔
07-07 1331
坐标轴绘制 [AX,C1,C2]=plotyy(X1,Y1,X2,Y2) 说明: 输入参数:[X1,Y1]:曲线1(X、Y为等大数组)在左边 [X2,Y2]:曲线2(X、Y为等大数组)在右边 返回值: AX:1*2的坐标轴(一左一右) C1:曲线1句柄 C2:曲线2句柄 参数设置 set(): set(get(AX(1),‘Ylabel’),‘String’,‘left_name’) %返回曲线...
matlab 双Y坐标画图
热门推荐
hengyaha的博客
03-19 1万+
yyaxis leftyyaxis right实例:a=600:100:1400; b=[9,12,16,20,25,30,35,41,48]; c=b./a; figure(1) yyaxis left;%****** plot(a,b); xlabel('温度ev'); ylabel('误差ev'); yyaxis right;%****** plot(a,c); ylabel('误差归一ev...
matlab根据横坐标纵坐标
07-27
根据提供的引用内容,MATLAB可以根据横坐标纵坐标。有几种方法可以实现这个目标。 第一种方法是使用interp1函数。这个函数可以根据给定的一组横坐标纵坐标,以及一个新的横坐标值,来计算对应的纵坐标值。例如,如果有一组横坐标x和纵坐标y,我们可以使用interp1函数来计算给定一个新的横坐标值x_new时对应的纵坐标值y_new。具体的代码如下: y_new = interp1(x, y, x_new); 第二种方法是使用polyfit函数。这个函数可以根据给定的一组横坐标纵坐标,以及一个多项式的阶数,来拟合出一个多项式函数。然后可以使用polyval函数来计算给定一个新的横坐标值时对应的纵坐标值。具体的代码如下: p = polyfit(x, y, n); % n为多项式的阶数 y_new = polyval(p, x_new); 第三种方法是使用spline函数。这个函数可以根据给定的一组横坐标纵坐标,来生成一个样条插值函数。然后可以使用ppval函数来计算给定一个新的横坐标值时对应的纵坐标值。具体的代码如下: s = spline(x, y); y_new = ppval(s, x_new); 以上是三种常用的方法,根据具体的需求和数据特点,可以选择适合的方法来求解纵坐标。 #### 引用[.reference_title] - *1* [MATLAB如何在横坐标一定的情况下绘制双纵坐标图?](https://blog.csdn.net/weixin_43649958/article/details/88071729)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [使用MATLAB上下两个横坐标左右两个纵坐标](https://blog.csdn.net/qq_30049235/article/details/109379036)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 使用MATLAB画上下两个横坐标与左右两个纵坐标 27560
  • Pulse local frame(画出光脉冲三维动态演化过程) 481
  • 画图常用小函数 190

分类专栏

  • MATLAB科研作图 3篇

最新评论

  • Pulse local frame(画出光脉冲三维动态演化过程)

    CSDN-Ada助手: 非常感谢您的博客,Pulse local frame的三维动态演化过程非常精彩生动。我觉得接下来您可以写一篇关于光脉冲在材料中的传输和反射的技术博文,深入探究其中的物理原理和实际应用,这样的文章对其他用户学习和应用光学技术会有很大的帮助。相信会有更多读者关注和支持您的博客! 为了方便博主创作,提高生产力,CSDN上线了AI写作助手功能,就在创作编辑器右侧哦~(https://mp.csdn.net/edit?utm_source=blog_comment_recall )诚邀您来加入测评,到此(https://activity.csdn.net/creatActivity?id=10450&utm_source=blog_comment_recall)发布测评文章即可获得「话题勋章」,同时还有机会拿定制奖牌。

  • 使用MATLAB画上下两个横坐标与左右两个纵坐标

    CSDN-Ada助手: 一定要坚持创作更多高质量博客哦, 小小红包, 以资鼓励, 更多创作活动请看: 新星计划2023: https://marketing.csdn.net/p/1738cda78d47b2ebb920916aab7c3584?utm_source=csdn_ai_ada_redpacket 上传ChatGPT/计算机论文等资源,瓜分¥5000元现金: https://blog.csdn.net/VIP_Assistant/article/details/130196121?utm_source=csdn_ai_ada_redpacket 新人首创任务挑战赛: https://marketing.csdn.net/p/90a06697f3eae83aabea1e150f5be8a5?utm_source=csdn_ai_ada_redpacket Microsoft Edge功能测评!: https://activity.csdn.net/creatActivity?id=10403?utm_source=csdn_ai_ada_redpacket 生物识别技术能否成为应对安全挑战的绝佳选择?: https://activity.csdn.net/creatActivity?id=10411?utm_source=csdn_ai_ada_redpacket 应届生如何提高职场竞争力: https://activity.csdn.net/creatActivity?id=10409?utm_source=csdn_ai_ada_redpacket 讯飞星火大模型将超越chatgpt?: https://activity.csdn.net/creatActivity?id=10407?utm_source=csdn_ai_ada_redpacket 职场新人备忘录: https://activity.csdn.net/creatActivity?id=10405?utm_source=csdn_ai_ada_redpacket VR vs AR:哪种技术更有潜力改变未来?: https://activity.csdn.net/creatActivity?id=10399?utm_source=csdn_ai_ada_redpacket “裸奔”时代下该如何保护网络隐私: https://activity.csdn.net/creatActivity?id=10401?utm_source=csdn_ai_ada_redpacket 蓝桥杯备赛指南分享: https://activity.csdn.net/creatActivity?id=10317?utm_source=csdn_ai_ada_redpacket 有哪些工具软件是一旦用了就离不开的?: https://activity.csdn.net/creatActivity?id=10397?utm_source=csdn_ai_ada_redpacket 量子计算:下一个大风口,还是一个热炒概念?: https://activity.csdn.net/creatActivity?id=10395?utm_source=csdn_ai_ada_redpacket

  • 使用MATLAB画上下两个横坐标与左右两个纵坐标

    ph7lsz: 太强了,非常有用!!!

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • Pulse local frame(画出光脉冲三维动态演化过程)
  • 画图常用小函数
2021年2篇
2020年1篇

目录

目录

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

深圳SEO优化公司太原设计公司网站多少钱阳江外贸网站设计德州SEO按天扣费运城建设网站多少钱曲靖网站改版张家口百姓网标王推荐信阳关键词按天计费多少钱襄阳如何制作网站公司淮南建设网站推荐西安设计网站衢州网络推广报价贵阳百度网站优化多少钱北海百度网站优化多少钱忻州网站优化软件公司观澜模板制作多少钱蚌埠网站推广系统岳阳至尊标王推荐梅州企业网站设计推荐垦利SEO按天计费哪家好和县设计网站忻州SEO按效果付费推荐阜阳网站优化按天收费推荐阳江模板推广推荐永新关键词按天收费推荐辽源网络营销价格赤峰网站定制公司达州百度标王多少钱湘潭seo曲靖网页设计大理建设网站报价歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化