2012-04-14 3 views
2

Ich kann einem Oktav/Matlab-Plot zwei y-Achsen hinzufügen, aber wenn ich versuche, die x-Achse unten im Plot mit xlabel ('Frequenz in Hz ‚) es zeigen sich nichtHinzufügen einer x-Achsenbeschriftung mit 2 y-Achsenbeschriftungen

[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'); 

Jeder weiß, wie dieses Problem zu beheben, so dass die x-Achse wird sich zeigen auch

ich verwende Oktave 3.2.4/Matlab

Antwort

2

Fabrikat sicher, xlabel() nach Referenzierung einer der spezifischen Achsen auf der Handlung zu nennen. Sie müssen es nur einmal tun, aber wegen der Doppelachse funktioniert das Aufrufen von x-label außerhalb eines bestimmten Achsenkontextes nicht. Folgendes funktioniert für mich in Octave 3.2.4 gut.

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

danke das hat funktioniert –

1

Um ein Etikett (entweder xlabel oder ylabel) bestimmten Achsen auch hinzufügen kann passieren diese Referenz als erstes Argument der Befehlsaufruf-Achsen. Auf diese Weise gewährleisten Sie auch, dass Sie sich im richtigen Kontext befinden, wie @EMS darauf hingewiesen hat.

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'); 

Dies ist auch besser in Bezug auf Leistung, wie im Fall Sie axes mehrmals aufrufen, werden Sie sehen, wie alles deutlich verlangsamt.

Verwandte Themen