So zeichnen sie eine glatte kurve in matplotlib


Häufig möchten Sie möglicherweise eine glatte Kurve in Matplotlib für ein Liniendiagramm zeichnen. Glücklicherweise ist dies mit den folgenden SciPy-Funktionen einfach zu bewerkstelligen:

In diesem Tutorial erfahren Sie, wie Sie diese Funktionen in der Praxis nutzen.

Beispiel: Zeichnen einer glatten Kurve in Matplotlib

Der folgende Code zeigt, wie man ein einfaches Liniendiagramm für einen Datensatz erstellt:

 import numpy as np
import matplotlib.pyplot as plt

#create data
x = np.array([1, 2, 3, 4, 5, 6, 7, 8])
y = np.array([4, 9, 12, 30, 45, 88, 140, 230])

#create line chart
plt. plot (x,y)
plt. show ()

Beachten Sie, dass das Liniendiagramm nicht völlig glatt ist, da die zugrunde liegenden Daten keiner glatten Linie folgen. Mit dem folgenden Code können wir eine glatte Kurve für diesen Datensatz erstellen:

 from scipy.interpolate import make_interp_spline, BSpline

#createdata
x = np.array([1, 2, 3, 4, 5, 6, 7, 8])
y = np.array([4, 9, 12, 30, 45, 88, 140, 230])

#define x as 200 equally spaced values between the min and max of original x 
xnew = np. linspace ( x.min (), x.max (), 200 ) 

#define spline
spl = make_interp_spline (x, y, k= 3 )
y_smooth = spl (xnew)

#create smooth line chart 
plt. plot (xnew, y_smooth)
plt. show ()

Glatte Kurve in Matplotlib

Beachten Sie, dass die Kurve umso „welliger“ wird, je höher der Grad ist, den Sie für das k- Argument verwenden. Betrachten Sie beispielsweise den folgenden Graphen mit k=7 :

 from scipy.interpolate import make_interp_spline, BSpline

#createdata
x = np.array([1, 2, 3, 4, 5, 6, 7, 8])
y = np.array([4, 9, 12, 30, 45, 88, 140, 230])

#define x as 200 equally spaced values between the min and max of original x 
xnew = np. linspace ( x.min (), x.max (), 200 ) 

#define spline with degree k=7
spl = make_interp_spline (x, y, k= 7 )
y_smooth = spl (xnew)

#create smooth line chart 
plt. plot (xnew, y_smooth)
plt. show () 

Glatt gekrümmter Spline in Matplotlib

Je nachdem, welche Krümmung die Linie haben soll, können Sie den Wert von k ändern.

Zusätzliche Ressourcen

So zeigen Sie Gitterlinien in Matplotlib-Plots an
So entfernen Sie Häkchen aus Matplotlib-Plots
So erstellen Sie Matplotlib-Plots mit logarithmischen Skalen

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert