Oft möchten Sie möglicherweise die Farbe von Punkten innerhalb eines Matplotlib-Streudiagramms basierend auf einer dritten Variablen schattieren. Glücklicherweise ist dies mit der Funktion matplotlib.pyplot.scatter (), die die folgende Syntax …
Oft möchten Sie in Matplotlib eine glatte Kurve für ein Liniendiagramm zeichnen. Glücklicherweise ist dies mit Hilfe der folgenden SciPy-Funktionen einfach zu bewerkstelligen:
In diesem Tutorial wird erklärt, wie diese Funktionen in der Praxis verwendet werden.
Beispiel: Zeichnen einer glatten Kurve in Matplotlib
Der folgende Code zeigt, wie Sie ein einfaches Liniendiagramm für einen Datensatz erstellen:
import numpy as np
import matplotlib.pyplot as plt
# Daten erstellen
x = np.array([1, 2, 3, 4, 5, 6, 7, 8])
y = np.array([4, 9, 12, 30, 45, 88, 140, 230])
# Liniendiagramm erstellen
plt.plot(x,y)
plt.show()
Beachten Sie, dass das Liniendiagramm nicht vollständig glatt ist, da die zugrunde liegenden Daten keiner glatten Linie folgen. Wir können den folgenden Code verwenden, um eine glatte Kurve für diesen Datensatz zu erstellen:
from scipy.interpolate import make_interp_spline, BSpline
# Daten erstellen
x = np.array([1, 2, 3, 4, 5, 6, 7, 8])
y = np.array([4, 9, 12, 30, 45, 88, 140, 230])
# x als 200 Werte mit gleichem Abstand zwischen min und max des ursprünglichen x definieren
xnew = np.linspace(x.min(), x.max(), 200)
# Spline Kurve definieren
spl = make_interp_spline(x, y, k=3)
y_smooth = spl(xnew)
# Glattes Liniendiagramm erstellen
plt.plot(xnew, y_smooth)
plt.show()
Beachten Sie, dass die Kurve umso „wackeliger“ ist, je höher der Grad ist, den Sie für das k-Argument verwenden. Betrachten Sie beispielsweise das folgende Diagramm mit k = 7:
from scipy.interpolate import make_interp_spline, BSpline
# Daten erstellen
x = np.array([1, 2, 3, 4, 5, 6, 7, 8])
y = np.array([4, 9, 12, 30, 45, 88, 140, 230])
# x als 200 Werte mit gleichem Abstand zwischen min und max des ursprünglichen x definieren
xnew = np.linspace(x.min(), x.max(), 200)
# Spline mit Grad k = 7 definieren
spl = make_interp_spline(x, y, k=7)
y_smooth = spl(xnew)
# Glattes Liniendiagramm erstellen
plt.plot(xnew, y_smooth)
plt.show()
Abhängig davon, wie gekrümmt die Linie sein soll, können Sie den Wert für k ändern.
Zusätzliche Ressourcen
So zeigen Sie Gitterlinien auf Matplotlib-Plots an
So entfernen Sie Striche aus Matplotlib-Plots
So erstellen Sie Matplotlib-Diagramme mit Protokollskalen
Matplotlib: So färben Sie ein Streudiagramm nach Wert
Gestapelte Balkendiagramme in Matplotlib (mit Beispielen)
Ein gestapeltes Balkendiagramm ist eine Art Diagramm, bei dem Balken verwendet werden, um die Häufigkeit verschiedener Kategorien anzuzeigen. Wir können diesen Diagrammtyp in Matplotlib mithilfe der Funktion matplotlib.pyplot.bar …