2012-04-14 276 views
2

我可以將2個y軸添加到八度/ matlab圖中,但是當我嘗試在圖的底部添加x軸時,請使用xlabel('Frequency in Hz 「)它不會顯示出來添加帶有2個y軸標籤的x軸標籤

[ax h1 h2]=plotyy(xx,yy,xx,yy2); %plot two y axes and 1 x-axis 
axes(ax(1)); ylabel('Phase Angle in degrees'); 
axes(ax(2)); ylabel('Amplitude'); 

任何人都知道如何解決這個問題,從而在x軸也將現身

我用八度3.2.4/MATLAB

回答

2

製作確定在引用圖上的某個特定軸之後調用xlabel()。您只需要執行一次,但由於雙軸,在特定軸上下文外調用x-label將不起作用。在Octave 3.2.4中,以下工作對我來說很好。

xx = [1,2,3]; 
yy = [10,11,12]; 
yy2 = [-10,-11,-12]; 

[ax h1 h2]=plotyy(xx,yy,xx,yy2); 

axes(ax(1)); xlabel('Frequency in Hz'); ylabel('Phase Angle in degrees'); 
axes(ax(2)); ylabel('Amplitude'); 
+0

謝謝,工作 – 2012-04-14 23:31:39

1

爲了將標籤(或者xlabelylabel)加入某些軸也可以通過這個軸參考作爲命令呼叫的第一個參數。這樣你也可以保證你在@EMS指出的正確的上下文中。

xx = [1,2,3]; 
yy = [10,11,12]; 
yy2 = [-10,-11,-12]; 

[ax h1 h2]=plotyy(xx,yy,xx,yy2); 

xlabel(ax(1),'Frequency in Hz'); ylabel(ax(1),'Phase Angle in degrees'); 
ylabel(ax(2),'Amplitude'); 

這是在性能方面也比較好,因爲萬一你打電話axes幾次,你將看到的一切是如何大幅減緩下來。