Heim  >  Artikel  >  Backend-Entwicklung  >  Wie erstelle ich glatte Linien in PyPlot?

Wie erstelle ich glatte Linien in PyPlot?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-01 20:31:29194Durchsuche

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:

<code class="python">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()</code>

Dieser Code erstellt eine glatte Kurve, indem er einen Spline durch die ursprünglichen Datenpunkte passt.

Spline wird nicht mehr unterstützt

Beachten Sie, dass die Spline-Funktion in der Scipy-Version 0.19.0 und höher veraltet war. Um die Kompatibilität aufrechtzuerhalten, können Sie die BSpline-Klasse wie unten gezeigt verwenden:

<code class="python">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()</code>

Das obige ist der detaillierte Inhalt vonWie erstelle ich glatte Linien in PyPlot?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn