这是网上的一个代码,生成双坐标系图形的
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]); %设定左边的X、Y轴
nx=10;ny=6; %<6>定义两个变量。给下一语句使用
pxtick=0:((5-0)/nx):5;pytick=0:((15-0)/ny):15; %<7> X轴被分了10格,Y轴被分了6格,pxtick,pytick分别表示向量
set(h_ap,'Xtick',pxtick,'Ytick',pytick,'Xgrid','on','Ygrid','on') %画出虚线格,'Xgrid','on','Ygrid','on'起到画虚线的作用
h_linet=line(tp,yp,'Color','b'); %<9>画一yp波形,对波形进行颜色设置
set(get(h_ap,'Xlabel'),'String',' 时间 /rightarrow (分) ') % X横坐标命名
set(get(h_ap,'Ylabel'),'String',' 压力 /rightarrow(/times10 ^{5} Pa )') %Y坐标命名
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>% 以上四句语句实现了上X坐标,右Y坐标
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>画yt波形,切记不能缺少Parent
xpm=get(h_at,'Xlim'); %<20>定义新变量
txtick=xpm(1):((xpm(2)-xpm(1))/nx):xpm(2); %<21> xpm(1)为0,xpm(2)为40
tytick=0:((210-0)/ny):210; %<22> %Y坐标分格
set(h_at,'Xtick',txtick,'Ytick',tytick) %<23>
tu03.png (28.74 KB, 下载次数: 5)
2015-4-15 21:15 上传
但我把第9行和第19行的line函数改成plot后,再运行后成了这个样子,相当于压力数据的图被覆盖掉了,而且坐标轴也乱了,这是为什么。我在仿照这个例子作图时,用plot画图也遇到了类似的情况,请高手帮忙解答一下
tu04.png (20.71 KB, 下载次数: 1)
2015-4-15 21:18 上传