„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie erstelle ich glatte Linien in PyPlot?

Wie erstelle ich glatte Linien in PyPlot?

Veröffentlicht am 21.11.2024
Durchsuche:158

How to Create Smooth Lines in PyPlot?

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()
Neuestes Tutorial Mehr>

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