Ich versuche Stromlinien in Polarkoordinaten mit Matplotlib zu plotten. Einige Probleme scheinen jedoch in den Bereichen des Polarplots zu liegen. Hier ist ein kurzes Beispiel, das Problem zu veranschaulichen: Schlechte Reichweite des polaren Stromplots mit Matplotlib
import numpy as np
import matplotlib.pyplot as plt
r1 = np.linspace(0.5, 1, 50)
r2 = np.logspace(np.log10(0.5), np.log10(1.), 50)
t = np.linspace(0, 2*np.pi, 360)
r = r1
tt, rr = np.meshgrid(t, r)
v = 0*rr
u = rr
fig = plt.figure(figsize=(10,10))
ax = fig.add_subplot(1,1,1, projection='polar')
ax.streamplot(t, r, v, u, density=1., color='k', linewidth=3)
plt.show()
plt.close()
Mit r=r1
(linspace), gibt es kein Problem. Aber mit r=r2
ist der radiale Bereich der Kurve falsch und variiert in [0,5, 0,82] anstelle von [0,5, 1].
Was ist falsch an meinem Code?
Ich vermute, das Problem ist eher, dass die Dampflinien zwischen "[3.16, 6.8]" und nicht zwischen "[10 ** 0.5, 10 ** 1] = [3.16, 10]" liegen, also ist die Untergrenze korrekt , aber die Obergrenze bleibt hinter den Erwartungen zurück. Vielleicht solltest du die Frage entsprechend bearbeiten. – ImportanceOfBeingErnest
Entschuldigung, es gab einen Fehler im Ausdruck von r2 im Beispiel. Es wird nun geändert, so dass r2 in [0.5, 1] ist. Der Streamplot ist immer noch falsch. – Azlof