different limits for 2 yaxis

조회 수: 1 (최근 30일)
Richard
Richard 2012년 9월 13일
I'm generating a plot with 2 yaxis showing two datasets with larger differences in their values, e.g.
data1 = 100 + (200-100).*rand(365,1);
data2 = 1 + (2-1).*rand(365,1);
time = 1:365;
figure(1);
ax1 = axes('position',[0.05 0.5 0.22 0.37]);
plot(time,data1,'k','linewidth',1);
ylabel('label 1');
hold on;
plot(time,data2,'color',[.5,.5,.5],'linewidth',1);
add = gca;
extra = axes('Position',get(add,'Position'),'Color','none','XTick',[],'YAxisLocation','right');
ylabel(extra,'label 2');
linkaxes([add extra],'xy');
From this, how would I have a different ylim for each data set? In other words apply a different ylim to both yaxis. Please note that I do not wish to use plotyy and was hoping of some advice following the method I have shown above.

채택된 답변

Azzi Abdelmalek
Azzi Abdelmalek 2012년 9월 13일
close all;
data1 = 100 + (200-100).*rand(365,1);
data2 = 1 + (2-1).*rand(365,1);
time = 1:365;
figure(1);
ax1 = axes('position',[0.05 0.5 0.22 0.37]);
plot(time,data1,'k','linewidth',1);
ylabel('label 1');
pos=double(get(ax1,'position'));
ax2=axes('position',pos,'color','none','YAxisLocation','right','xtick',[])
hold on;plot(time,data2,'r','linewidth',1,'parent',ax2);
ylabel(ax2,'label 2');

추가 답변 (1개)

Jan
Jan 2012년 9월 13일
편집: Jan 2012년 9월 13일
If you have the handles of both axes, you can simply use them to set the Y-limits:
set(ax1, 'YLim', [0, 10]);
set(extra, 'YLim', [-10, 5]);
Or:
ylim(ax1, [0, 10]) % etc
  댓글 수: 3
Matt Fig
Matt Fig 2012년 9월 13일
Iestyn, I ran your code, then Jan's code and got no error. What version are you using?
Richard
Richard 2012년 9월 13일
Its 2012, I only have a few toolboxes though if that makes any difference (statistics, wavelet, and signal processing). I receive no error whilst typing ylim(ax1, [0, 10]) and ylim(extra, [0, 20]) but it doesnt change the limits

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Two y-axis에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by