different limits for 2 yaxis

2 次查看(过去 30 天)
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 中查找有关 Multirate Signal Processing 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by