添加带有2个y轴标签的x轴标签

时间:2012-04-14 22:48:58

标签: matlab plot gnuplot octave

我可以将2个y轴添加到八度/ matlab图中,但是当我尝试使用 xlabel('频率以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轴也会出现

我正在使用octave 3.2.4 / matlab

2 个答案:

答案 0 :(得分: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');

答案 1 :(得分: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,你会看到一切都在慢慢减慢。