MATLAB中plotyy函数详解:matlab双Y轴作图_第1页
MATLAB中plotyy函数详解:matlab双Y轴作图_第2页
MATLAB中plotyy函数详解:matlab双Y轴作图_第3页
MATLAB中plotyy函数详解:matlab双Y轴作图_第4页
MATLAB中plotyy函数详解:matlab双Y轴作图_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Matlab 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

2、-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);Q:右边用蓝色圈起来的tick能去掉吗?由于用plotyy画图,为了使图尽量地显示出来,用了set(AX(1),YLimMode,auto),但这样可能会导致左

3、边AX(1)和右边AX(2)的tick的间距不一样,影响美观。或者说能不能使plotyy画出的图两边的tick间距是一样的,这样在图形右边的tick就会重合在一起.A:如果只是想让plotyy的图美一些,可以使用其如下形式的调用方式:AX,H1,H2 = plotyy(.)其中AX(2)就是右边Axes对象的句柄,拿到它以后就可以set或者get来处理了,也可以把其ytick关掉。A:也可以用line语句来画,就没有左边和上边的线了。Q:plotyy(X1,Y1,X2,Y2,FUN1,FUN2),FUN1和FUN2应该怎么写?A:这两个FUN代表plotyy不一定要用两个plot,比如下面的例

4、子,一条曲线用plot,一条用semilogyx1=1:0.1:100;x2=x1;y1=x1;y2=x2.3;plotyy(x1,y1,x2,y2,plot,semilogy)来源:/wang_pw/blog/item/ede4c1fd6e51773d5c6008f2.htmlMATLAB画双纵坐标具有两个纵坐标标度的图形在MATLAB中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用plotyy绘图函数。调用格式为:plotyy(x1,y1,x2,y2)其中x1,y1对应一条曲线,x2,y2对应另一条曲线。横坐标的标度相同,纵坐标有两个,左纵坐标用

5、于x1,y1数据对,右纵坐标用于x2,y2数据对。双y轴坐标可以用plotyy(x,y1,x,y2)来实现双x坐标可以用set(gca,xaxislocation,bottom,xticklabel,0,1,2,3,4) (假设x轴的标注为1,2,3,4)set(gca,xaxislocation,top,xticklabel,0,1,2,3,4)进行相应的设置【 * 例 10.7.3 -1 】制作一个双坐标系用来表现高压和低温两个不同量的过渡过程。tp=(0:100)/100*5;yp=8+4*(1-exp(-0.8*tp).*cos(3*tp); % 压力数据tt=(0:500)/500*

6、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)h_linet=line(tp,yp,Color,b); %set(

7、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,/fontsize15/fontna

8、me 隶书 时间 /rightarrow (分) )set(get(h_at,Ylabel),String, ( /circC )/fontsize15 /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) %来源:http:/hi

9、./goodenoughcui/blog/item/e9a00b8b7ad52d6f9e2fb4d2.html实例(已验证):clc;clear all;close all;x=0:0.1:2*pi;y1=sin(x);y2=cos(x);AX=plotyy(x,y1,x,y2);set(get(gca,xlabel),string,X-axis);set(get(AX(1),Ylabel),string,left Y-axis);set(get(AX(2),Ylabel),string,right Y-axis);set(gca,xTick,0:0.5:7);set(AX(

10、1),yTick,-1:0.2:1);set(AX(2),yTick,-1:0.5:1);尚存在问题:这种设置方法,对各个轴的最小刻度单位可以设置,但是刻度范围(x取(07),y1取(-11))不能设置。2010-12-23修改clcclear allclose allrunoff=10700 11400 15800 22900 43100 40700 50500 46000 41800 35000;sed=0.105 0.094 0.156 1.2640.363 0.429 0.731 0.682 0.654 0.290;m=1:10;ax,h1,h2=plotyy(m,runoff,m,s

11、ed); %h- line handleset(get(ax(1),Ylabel),string,Runoff (m3/s),color,r) %y1set(get(ax(2),Ylabel),string,Sediment concentration (kg/m3),color,k) %y2xlabel(Month)set(h1,linestyle,-,color,r);set(h2,linestyle,- -,color,k);legend(h1 h2,runoff,sediment concentration) %标注两条线legend(boxoff)% box offset(ax(:),Ycolor,k)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论