2017-06-21 3 views
2

Wenn ich die mit contour3 geplotteten Linien rotieren möchte, scheint es, als ob die grafischen Handles der Zeilen bereits gelöscht sind. Wie bekomme ich den Griff der Konturlinien? Oder ist es möglich, die Linien mit der Konturmatrix C zu rotieren?Wie bekomme ich den Griff von Kurven von Kontur3 in MATLAB?

>> x = -2:0.25:2; x = -2:0.25:2; 
>> [X,Y] = meshgrid(x); 
>> Z = X.*exp(-X.^2-Y.^2); 
>> C=contour3(X,Y,Z,10,'m'); 
>> hd=gca; 
>> rotate(hd,[0 1 0],90,[0 0 0]); 

Die Zeilen haben sich nach Eingabe des letzten Befehls nicht bewegt. (Ich bin mit MATLAB 2016a.) enter image description here

+2

warum hast du 'h' in' rotate'? Sollte es nicht "C" sein? –

+0

oder 'hd', grundsätzlich' h' existiert nicht in diesem Code –

+0

Es tut mir leid, ich habe gerade einen Fehler gemacht, ich wollte drehen HD –

Antwort

2

Sie benötigen die zweite Ausgabe von contour3, zu erhalten, die der Griff zum Contour graphics object:

[C, h] = contour3(...); 

Leider wird dies nicht helfen, mit Ihrem Rotationsproblem. Aus der Dokumentation für rotate:

rotate(h,direction,alpha) dreht sich die Grafik h von alpha Grad widersprechen. Geben Sie h als Oberflächen-, Patch-, Linien-, Text- oder Bildobjekt an. ...

Beachten Sie, dass rotate nicht auf axes oder Contour Objekte funktionieren. Stattdessen müssen Sie die Kameraansicht mit view ändern.

+0

Vielen Dank! Eigentlich wollte ich, dass die Richtung der Z-Achse geneigt aussieht, was für mich mit 'view' schwer zu erreichen ist. Gibt es eine andere Funktion, dies zu tun? –

+0

@WANGGuosheng: Dafür müssen Sie andere Kamerasteuerungswerkzeuge verwenden, wie ich in meiner Antwort auf [diese Frage] (https://stackoverflow.com/q/43479327/52738) erwähnt habe. – gnovice

+0

Cool, 'Camroll' funktioniert gut dafür. Vielen Dank ~ –

Verwandte Themen