Quiver Plot Pfeil Seitenverhältnis

8

Ich habe einige Probleme mit Matplotlibs Köcher-Plot. Bei einem Geschwindigkeitsvektorfeld möchte ich die Geschwindigkeitsvektoren über den Stromlinien darstellen. Die Vektoren sind nicht wie erwartet tangential zur Stream-Funktion.

Um die Stream-Funktion zu berechnen, verwende ich eine Python-übersetzte Version von Dr. Pankratovs Matlab-Code, die unter Ссылка (meins wird bald bei GitHub verfügbar sein).

Unter Verwendung seiner Ergebnisse verwende ich diesen Code:

%Vor%

um das folgende Ergebnis zur Veranschaulichung meiner Probleme zu erzeugen.

Offenbar sind die Berechnungen in Ordnung, aber die Geschwindigkeitsvektoren sind nicht wie erwartet tangential zur Stream-Funktion. Mit den exakten Speicherwerten erzeugt Matlab einen Köcher-Plot, der genau zeigt, was ich will. In meinem Fall ergibt das Festlegen des Seitenverhältnisses auf eins das gewünschte Ergebnis, erzwingt aber, dass das Rechteck der Achsen ein bestimmtes Seitenverhältnis aufweist.

%Vor%

Ich habe schon erfolglos verschiedene Argumente wie "Einheiten", "Winkel" oder "Maßstab" ausprobiert.

Weiß jemand, wie man Köcher-Plots erstellt, die sich an das Seitenverhältnis der Leinwand anpassen und wie erwartet immer noch meine Konturen berühren?

Ich erwarte ein ähnliches Ergebnis (beachten Sie, wie die Vektoren die Stromlinien tangieren):

Vielen Dank!

    
regeirk 22.08.2012, 19:10
quelle

1 Antwort

9

Zeichnen Sie Ihren Köcher (doc) mit

auf %Vor%

angles='uv' setzt den Winkel des Vektors nach atan2(u,v) , angles='xy' zeichnet den Vektor von (x,y) nach (x+u, y+v)

    
tacaswell 25.08.2012, 21:10
quelle

Tags und Links