我有以下的數據集,以繪製繪製在MATLAB 2個垂直軸時設置軸限制:通過plotyy
data1 = [ 3 6 99 4 5];
data2 = [ 0.2 1.5 1.75 1.0 1.2];
有什麼特別之處我的情況是,我需要的數據點data1(3)
,這等於99
, 不是顯示在圖上。我使用99作爲將觀測值推到期望軸極限以外的方式,以便對自變量的某些值沒有可見的觀測值。 (我只有標記,沒有線條繪製數據點)
雖然data1
和data2
具有完全無關的規模和意義,它們有着完全相同的因變量:
X=40:1:44
我策劃用下面的命令,我從MATLAB plotyy documentation page得到:
[AX,H1,H2] = plotyy(X,data1,X,data2);
set(get(AX(1),'Ylabel'),'String','This is vertical axis 1')
set(get(AX(2),'Ylabel'),'String','This is vertical axis 2')
set(H1,'LineStyle','none','Marker','*');
set(H2,'LineStyle','none','Marker','s');
到目前爲止,這麼好。我無法弄清楚的是如何對兩個垂直軸執行正確的限制。我希望的範圍是:
ylimits1=[0 3]
ylimits2=[0 10]
我如何可以設置每個垂直軸限制?
我已經試過這
set(get(AX(1),'Ylim'),ylimits1)
set(get(AX(2),'Ylim'),ylimits2)
和
foo = gca
set(foo(1),'ylim',ylimits1);
set(foo(2),'ylim',ylimits2);
但既不工作。
感謝。你能解釋爲什麼set set(get(AX(1),'Ylabel'),'String','這是垂直軸1')設置標籤屬性是有意義的,但你只需要'設置(AX(1),'ylim',ylimits1)'設置ylim屬性?那就是爲什麼'get(AX(1),...)'聲明的一部分? – synaptik
不,我不能,對不起;) – thewaywewalk
然後,至少我不瘋了,困惑!儘管我理解你的解決方案,但這很重要,因爲它很有用。再次感謝。 – synaptik