2

オクターブ/MATLABプロットに2つのy軸を追加できますが、プロットの下部にxlabel('Frequency in Hz')を使用して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を使用しています

4

2 に答える 2

2

xlabel()プロット上の特定の軸の1つを参照した後、必ず呼び出してください。一度だけ実行する必要がありますが、軸が2つあるため、特定の軸コンテキストの外部でx-labelを呼び出すことはできません。以下は、Octave3.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');
于 2012-04-14T23:12:02.083 に答える
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。何度も電話をかけると、すべてが大幅に遅くなることがわかります。

于 2012-04-14T23:38:03.950 に答える