2015-06-07 35 views
0

我在劇情內使用'plotyy'有一些問題。如何將plotyy用於子圖中的2個不同的地塊?

我想要一個4位數的副劇情節,並在每個劇情中使用'plotyy'。由於軸線的縮放,我遇到了一些問題,現在我已經解決了第一個圖形的問題,但是當我嘗試使用相同的結構作爲第二個圖形時,第二個圖形是完美的,但是第一個圖形一個會變成只有一個圖形而不是前兩個的情節(所以,第一個'plotyy'停止工作)。 爲了更好地理解我的問題,代碼,我用的是:

AXInv = subplot(2,2,1); % Auto-fitted to the figure. 
PInv = get(AXInv,'pos'); % Get the position. 
delete(AXInv) 
[AXInv,H1,H2] = plotyy(h,Inv,h,prod_Inv,'plot'); 
set(AXInv,'pos',PInv)  % Recover the position. 

line([0 24],[0 1],'parent',AXInv(1),'Color',[1 1 1]) % Axis is not scaled 
axis auto % Numbers on axes are crushing. 
set(AXInv(1),'ytickmode','auto') % This is new.... 
line([0 24],[0 1500],'parent',AXInv(2),'Color',[1 1 1]) % Axis is not scaled 
axis auto % Numbers on axes are crushing. 
set(AXInv(2),'ytickmode','auto') % This is new.... 


AXPrim = subplot(2,2,2); % Auto-fitted to the figure. 
PPrim = get(AXPrim,'pos'); % Get the position. 
delete(AXPrim) 
[AXPrim,H1,H2] = plotyy(h,Prim,h,prod_Prim,'plot'); 
set(AXPrim,'pos',PPrim)  % Recover the position. 

line([0 24],[0 1],'parent',AXPrim(1),'Color',[1 1 1]) % Axis is not scaled 
axis auto % Numbers on axes are crushing. 
set(AXPrim(1),'ytickmode','auto') % This is new.... 
line([0 24],[0 1500],'parent',AXPrim(2),'Color',[1 1 1]) % Axis is not scaled 
axis auto % Numbers on axes are crushing. 
set(AXPrim(2),'ytickmode','auto') % This is new.... 

誰能幫助我?

非常感謝您!

+0

如果它幫助你,請接受答案,如果它仍然不起作用,請發表評論,或者如果以不同方式解決了問題,請發佈自己的解決方案作爲答案。 –

回答

0

我不能告訴你爲什麼你的行消失了,我正在運行R2012b版,它也發生在我身上,所以它可能只是一個奇怪的錯誤。

但是,要解決這個問題,您可以刪除兩個delete語句,因爲它們在這裏沒有任何實際用途。如果沒有這些,你得到你應有plotyy -plot(虛擬值):

plotyy-plot with all lines

如果右側軸雙刻度打擾你,你可能會想看看File Exchange's plt來解決這個問題。

下一次的建議:嘗試包含一個最小的代碼工作示例,以便人們不必自己用數據填充變量。你可能會很快得到答案。 ;)

相關問題