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

Matlab 添加带有2个y轴标签的x轴标签,matlab,plot,gnuplot,octave,Matlab,Plot,Gnuplot,Octave,我可以将2个y轴添加到倍频程/matlab绘图中,但当我尝试使用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轴也会出现 我正在使用o

我可以将2个y轴添加到倍频程/matlab绘图中,但当我尝试使用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轴也会出现


我正在使用octave 3.2.4/matlab

请确保在引用绘图上的一个特定轴后调用
xlabel()
。您只需要执行一次,但由于双轴的原因,在特定轴上下文之外调用x标签将不起作用。在八度音阶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');
为了将标签(无论是
xlabel
还是
ylabel
)添加到某些轴,您还可以将此轴引用作为命令调用的第一个参数传递。通过这种方式,您还可以保证您处于@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
,您将看到一切都会大大减慢