原创 MATLAB画双纵坐标

2012-1-11 22:20 6391 3 3 分类: EDA/ IP/ 设计与制造

具有两个纵坐标标度的图形
在MATLAB中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用plotyy绘图函数。调用格式为:
plotyy(x1,y1,x2,y2)
其中x1,y1对应一条曲线,x2,y2对应另一条曲线。横坐标的标度相同,纵坐标有两个,左纵坐标用于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*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]); %<4>


set(h_ap,'Xcolor','b','Ycolor','b','Xlim',[0,5],'Ylim',[0,15]);


nx=10;ny=6; %<6>


pxtick=0(5-0)/nx):5;pytick=0(15-0)/ny):15; %<7>


set(h_ap,'Xtick',pxtick,'Ytick',pytick,'Xgrid','on','Ygrid','on')


h_linet=line(tp,yp,'Color','b'); %<9>


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')); %<12>


set(h_at,'Color','none','Xcolor','r','Ycolor','r'); %<13>


set(h_at,'Xaxislocation','top') %<14>


set(h_at,'Yaxislocation','right','Ydir','rev') %<15>


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]) %<18>


line(tt,yt,'Color','r','Parent',h_at) %<19>


xpm=get(h_at,'Xlim'); %<20>


txtick=xpm(1)(xpm(2)-xpm(1))/nx):xpm(2); %<21>


tytick=0(210-0)/ny):210; %<22>


set(h_at,'Xtick',txtick,'Ytick',tytick) %<23>


 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
3
关闭 站长推荐上一条 /3 下一条