Glatte Linien mit PyPlot zeichnen
PyPlot bietet verschiedene Methoden zum Anpassen von Datenvisualisierungen. Eine häufige Aufgabe besteht darin, Linien zwischen gezeichneten Punkten zu glätten, um ein kontinuierlicheres Erscheinungsbild zu erzielen. Während das Erstellen glatter Linien in Gnuplot mit der Option „smooth cplines“ unkompliziert ist, erfordert PyPlot einen etwas anderen Ansatz.
Linien glätten mit scipy.interpolate
Eine Lösung ist um das Modul scipy.interpolate zu verwenden. Dieses Modul bietet ein leistungsstarkes Werkzeug namens Spline, das interpolierte Kurven erzeugen kann, indem eine Spline-Funktion durch eine Reihe von Datenpunkten angepasst wird. Hier ist ein Beispiel:
from scipy.interpolate import spline
# 300 represents the number of points to generate between T.min and T.max
xnew = np.linspace(T.min(), T.max(), 300)
power_smooth = spline(T, power, xnew)
plt.plot(xnew,power_smooth)
plt.show()
Dieser Code erstellt eine glatte Kurve, indem er einen Spline durch die ursprünglichen Datenpunkte passt.
Abkündigung von Spline
Hinweis dass in der Scipy-Version 0.19.0 und höher die Spline-Funktion veraltet war. Um die Kompatibilität aufrechtzuerhalten, können Sie die BSpline-Klasse wie unten gezeigt verwenden:
from scipy.interpolate import make_interp_spline, BSpline
# 300 represents the number of points to generate between T.min and T.max
xnew = np.linspace(T.min(), T.max(), 300)
spl = make_interp_spline(T, power, k=3) # type: BSpline
power_smooth = spl(xnew)
plt.plot(xnew, power_smooth)
plt.show()
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3