MATLAB plotyy总结「建议收藏」

MATLAB plotyy总结「建议收藏」当需要画出2个两个不同纵坐标的图时,此时的横坐标的图是相同的,在MATLAB中这个函数叫plotyy下面列举的是一个简单的画plotyy的应用几种不同的调用格式1、plotyy(X1,Y1,X2,Y2)2、plotyy(X1,Y1,X2,Y2,function)3、plotyy(X1,Y1,X2,Y2,’function1′,’function2′)4、[AX,H1,H2]=plotyy(___)5、plotyy(AX1,___)1、plotyy(X1,Y1,X2,Y2)直接简单地画

大家好,又见面了,我是你们的朋友全栈君。

当需要画出2个两个不同纵坐标的图时,此时的横坐标的图是相同的,在MATLAB中这个函数叫plotyy
下面列举的是一个简单的画plotyy的应用
几种不同的调用格式

plotyy(X1,Y1,X2,Y2)
plotyy(X1,Y1,X2,Y2,function)
plotyy(X1,Y1,X2,Y2,'function1','function2')
[AX,H1,H2] = plotyy(___)
plotyy(AX1,___)

1、plotyy(X1,Y1,X2,Y2) 直接简单地画出2个坐标不同的图

clc;clear
x = 0:0.01:20;
y1 = 200*exp(-0.05*x).*sin(x);
y2 = 0.8*exp(-0.5*x).*sin(10*x);
 
figure % new figure
plotyy(x,y1,x,y2)

在这里插入图片描述

2、plotyy(X1,Y1,X2,Y2,function)调用时选用function的画图函数
这里的function函数有plot, semilogx, semilogy, loglog, stem等,分别表示一般的画图函数,半对数(x),半对数(y),全对数函数,以及火柴棒图
在这里我们选用plot,stem进行演示

x = 0:0.1:10;
y1 = 200*exp(-0.05*x).*sin(x);
y2 = 0.8*exp(-0.5*x).*sin(10*x);
 
figure 
plotyy(x,y1,x,y2,'plot','stem')

在这里插入图片描述

3、和 2 是同样的用法
4、[AX,H1,H2] = plotyy(___)利用图形句柄进行操作
AX 为坐标轴的句柄,其中 AX(1)为左侧轴,AX(2)为右侧轴 H1 与 H2 表示每个图像的句柄

4.1 对 H1,H2 的操作

t=0:.1:8;
[ax,h1,h2]=plotyy(t,sin(t),t,cos(t)); 
set(h1,'linestyle','-','marker','o','color','r');
set(h2,'linestyle',':','marker','x','color','b');

这里是用set函数,也可以用面对对象的编程思路

x = 0:0.01:20;
y1 = 200*exp(-0.05*x).*sin(x);
y2 = 0.8*exp(-0.5*x).*sin(10*x);
[hAx,hLine1,hLine2] = plotyy(x,y1,x,y2);
hLine1.LineStyle = '--';
hLine2.LineStyle = ':';

在这里插入图片描述

4.2 对坐标轴AX的操作

x = 0:0.01:20;
y1 = 200*exp(-0.05*x).*sin(x);
y2 = 0.8*exp(-0.5*x).*sin(10*x);
 
figure 
[hAx,hLine1,hLine2] = plotyy(x,y1,x,y2);

title('Multiple Decay Rates')
xlabel('Time (\musec)')
ylabel(hAx(1),'Slow Decay') % left y-axis 
ylabel(hAx(2),'Fast Decay') % right y-axis

在这里插入图片描述

5、plotyy(AX1,___)这个用法目前总结的较少,有待进行进一步探究
6、总结上述方法,一些综合性的plotyy图
如果只是想让plotyy的图美一些,可以使用其如下形式的调用方式:
[AX,H1,H2] = plotyy(…)
其中AX(2)就是右边Axes对象的句柄,拿到它以后就可以set或者get来处理了,也可以把其ytick关掉。
6.1 此图应用上面1-5介绍的方法,用plotyy函数画图

x = 0:0.01:20;
y1 = 200*exp(-0.05*x).*sin(x);
y2 = 0.8*exp(-0.5*x).*sin(10*x);
[AX,H1,H2] = plotyy(x,y1,x,y2,'plot');
 
set(AX(1),'XColor','k','YColor','b');
set(AX(2),'XColor','k','YColor','r');
 
HH1=get(AX(1),'Ylabel');
set(HH1,'String','Left Y-axis');
set(HH1,'color','b');
 
HH2=get(AX(2),'Ylabel');
set(HH2,'String','Right Y-axis');
set(HH2,'color','r');
 
set(H1,'LineStyle','-');
set(H1,'color','b');
set(H2,'LineStyle',':');
set(H2,'color','r');
 
legend([H1,H2],{ 
   'y1 = 200*exp(-0.05*x).*sin(x)';'y2 = 0.8*exp(-0.5*x).*sin(10*x)'});
xlabel('Zero to 20 \musec.');
title('Labeling plotyy');

在这里插入图片描述

6.2 这是另一种画图的方式,与前面的,左y轴与右y轴对应同一个坐标位置;与前面介绍的方法不同

tp=(0:100)/100*5;
yp=8+4*(1-exp(-0.8*tp).*cos(3*tp)); % 压力数据
tt=(0:500)/500*40;
yt=120+40*(1-exp(-0.05*tt).*cos(tt)); % 温度数据
% 产生双坐标系图形

clf reset,h_ap=axes('Position',[0.13,0.13,0.7,0.75]);
set(h_ap,'Xcolor','b','Ycolor','b','Xlim',[0,5],'Ylim',[0,15]);%压力

nx=10;ny=6;
pxtick=0:((5-0)/nx):5;
pytick=0:((15-0)/ny):15;
set(h_ap,'Xtick',pxtick,'Ytick',pytick,'Xgrid','on','Ygrid','on') %设置tick

h_linet=line(tp,yp,'Color','b'); 
set(get(h_ap,'Xlabel'),'String',' 时间 /rightarrow (分) ')
set(get(h_ap,'Ylabel'),'String',' 压力 /rightarrow(/times10 ^{5} Pa )')

h_at=axes('Position',get(h_ap,'Position'));%温度

set(h_at,'Color','none','Xcolor','r','Ycolor','r'); 
set(h_at,'Xaxislocation','top')
set(h_at,'Yaxislocation','right','Ydir','rev')

set(get(h_at,'Xlabel'),'String','/fontsize{15}/fontname{ 隶书 } 时间 /rightarrow (分) ')
set(get(h_at,'Ylabel'),'String',' ( {/circ}C )/fontsize{15} /leftarrow /fontname{ 隶书 } 零下温度 ')

set(h_at,'Ylim',[0,210])

line(tt,yt,'Color','r','Parent',h_at)

xpm=get(h_at,'Xlim'); 
txtick=xpm(1):((xpm(2)-xpm(1))/nx):xpm(2);
tytick=0:((210-0)/ny):210;

set(h_at,'Xtick',txtick,'Ytick',tytick)

在这里插入图片描述

7 参考链接
mathworks官网
CSDN:Matlab中的plotyy用法总结
CSDN:Matlab plotyy画双纵坐标图实例(PS:也就是第六部分的内容)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/148824.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C++后缀表达式

    C++后缀表达式1基本概念后缀表示法也叫逆波兰表示法(前缀就是波兰表示法),由于所有的操作符都在操作数的后面,所以被称为后缀表示法。中缀表示法的操作符在操作数之间,也是最符合人的逻辑。前缀表示法的操作符在操作数之前,它和后缀表示法一样,都是为了方便计算机计算,因为在后缀或前缀中没有括号,也不存在优先级处理的问题,直接利用栈进行计算。示例:中缀表达式:5+(1+2)*4-3后缀表达式:512+4*+3-2中缀…

    2022年6月22日
    34
  • python 进制转换[通俗易懂]

    python 进制转换[通俗易懂]文章目录前言一、Python提供的进制转换方法1.二进制转十进制2.八进制转十进制3.十六进制转十进制4.十进制转十六进制5.十进制转二进制6.十进制转八进制二、自定义进制转换1.转十进制2.十进制转七进制总结前言十进制是我们常用的数字形式,但机器使用的却是二进制,八进制,十六进制之类的,所以进制转换是基础要求,很多编程语言提供的有进制转换的方法,下面我们开始学习一、Python提供的进制转换方法1.二进制转十进制s=’1001’print(int(s,2))结果如下:in..

    2022年5月12日
    53
  • ubuntu中pycharm卸载与安装

    ubuntu中pycharm卸载与安装卸载找到安装包rm-rpycharm-community-2017.3.3#卸载文件夹rm-r.PyCharmCE2017.3#卸载配置文件夹,这一步是很必要的,要不然你的配置被一直记住,相当于没有删除这个在/root里面的隐藏文件安装去官网下载Professional版,拷贝到ubuntu里解压后,进入里面的pycharm-community-2018.1/bin文件夹下执行如下命令安装:./pycharm.sh设置快捷方式:sudogedit/usr/

    2022年8月25日
    6
  • Hadoop集群搭建,14张过程截图超详细教程

    Hadoop集群搭建,14张过程截图超详细教程作者 大数据小禅 文章简介 本篇文章主要讲解 Hadoop 集群的搭建 为了方便大家理解与操作 关键的步骤博主都进行了截图 减少小伙伴的出错概率 文章源码获取 本文的搭建 PDF 相关安装包 小伙伴们可以关注文章底部的公众号 点击 联系我 备注 Hadoop 搭建获取哦 欢迎小伙伴们点赞 收藏 留言 Hadoop 集群搭建过程 1 Hadoop 简介以及集群规划 2 基础环境准备 3 关闭防火墙 4 配置 IP 地址映射 5 添加 Hadoop 用

    2025年6月1日
    1
  • clion激活码(JetBrains全家桶)「建议收藏」

    (clion激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlMLZPB5EL5Q-eyJsaWN…

    2022年3月21日
    93
  • 【夏虫语冰】visio2013安装出错,您输入的产品密钥无法在此计算机上使用,错误25004[通俗易懂]

    【夏虫语冰】visio2013安装出错,您输入的产品密钥无法在此计算机上使用,错误25004[通俗易懂]问题的原因并不是您所下载的Office程序无法安装上去,而是所使用的密钥不能再授权安装和使用Office产品。如果在此电脑上之前已经安装并使用过了试用版本的Office的话,是不能重复不断地继续使用试用版本的Office和申请的授权密钥的。Office卸载工具有很多,下面介绍几个常见的工具:1、微软新版工具(未测试,微软官网无法下载)“SetupProd_OffScrub.exe”是微软新推出来Office卸载工具。下载链接&官方教程见下:从PC…

    2022年9月5日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号