2012-04-14 206 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几次,你将看到的一切是如何大幅减缓下来。