„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 kann ich Linien in Matplotlib zur besseren Visualisierung glätten?

Wie kann ich Linien in Matplotlib zur besseren Visualisierung glätten?

Veröffentlicht am 10.11.2024
Durchsuche:317

How can I smooth lines in Matplotlib for better visualization?

Glätten von Linien in Matplotlib

In Matplotlib verbinden Diagramme Datenpunkte normalerweise mit geraden Linien. Während dies in bestimmten Szenarien akzeptabel sein kann, kann das resultierende Diagramm gezackt oder optisch unattraktiv erscheinen. Dieses Problem kann durch Glätten der Linien behoben werden, was zu einer ausgefeilteren und informativeren Visualisierung führt.

Verwenden der Interpolation von SciPy

Um Linien in Matplotlib zu glätten, können Sie die Funktionen der SciPy-Bibliothek nutzen. Durch Aufrufen von scipy.interpolate.spline können Sie eine Interpolationsfunktion generieren, die eine glatte Kurve erzeugt, die durch die ursprünglichen Datenpunkte verläuft.

from scipy.interpolate import spline

T = np.array([6, 7, 8, 9, 10, 11, 12])
power = np.array([1.53E 03, 5.92E 02, 2.04E 02, 7.24E 01, 2.72E 01, 1.10E 01, 4.70E 00])

xnew = np.linspace(T.min(), T.max(), 300)  # Define the number of points for smoothing

power_smooth = spline(T, power, xnew)

plt.plot(xnew, power_smooth)

In SciPy-Versionen 0.19.0 und höher ist Spline veraltet und wurde durch die BSpline-Klasse ersetzt. Um ähnliche Ergebnisse zu erzielen, können Sie den folgenden Code verwenden:

from scipy.interpolate import make_interp_spline, BSpline

spl = make_interp_spline(T, power, k=3)  # k=3 indicates cubic spline interpolation
power_smooth = spl(xnew)

plt.plot(xnew, power_smooth)

Visualisierung der Glättungseffekte

Der ursprüngliche Plot mit geraden Linien und der geglättete Plot können zur Verdeutlichung verglichen werden:

[Vorher]( https://i.sstatic.net/dSLtt.png)
[Nachher](https://i.sstatic.net/olGAh.png)

Wie aus den Bildern hervorgeht, werden die Linien geglättet Entfernt die Zackigkeit, was zu einem optisch ansprechenderen und informativeren Diagramm führt.

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