Matplotlib-Dichte-Plot
-
Erzeugen des Dichtediagramms mit der Methode
gaussian_kde()
aus dem Modulscipy.stats
-
Generieren der Dichtekurve mit der Methode
kdeplot()
aus dem Paketseaborn
-
Generieren des Dichtediagramms mit der
distplot()
Methode aus demseaborn
-Paket -
Setzen Sie
kind='density'
inpandas.DataFrame.plot()
Methode zur Erzeugung des Dichtediagramms
Um ein Dichtediagramm unter Verwendung von Python zu erzeugen, schätzen wir zunächst die Dichtefunktion aus den gegebenen Daten unter Verwendung der gaussian_kde()
Methode aus dem scipy.stats
Modul. Dann zeichnen wir die Dichtefunktion auf, um das Dichtediagramm zu erzeugen. Alternativ können wir auch kdeplot()
aus dem Paket seaborn
verwenden oder kind='density'
in der Methode pandas.DataFrame.plot()
setzen, um das Dichtediagramm zu erzeugen.
Erzeugen des Dichtediagramms mit der Methode gaussian_kde()
aus dem Modul scipy.stats
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import kde
data = [2, 3, 3, 4, 2, 1, 5, 6, 4, 3, 3, 3, 6, 4, 5, 4, 3, 2]
density = kde.gaussian_kde(data)
x = np.linspace(-2, 10, 300)
y = density(x)
plt.plot(x, y)
plt.title("Density Plot of the data")
plt.show()
Ausgabe:
Hier schätzen wir zunächst die Dichtefunktion für die gegebenen Daten mit der gaussian_kde()
Methode. Dann zeichnen wir die Funktion für Werte im Bereich von -2
bis 10
mit der plot()
Methode auf.
Das erzeugte Dichtediagramm ist nicht präzise genug, da die gaussian_kde
-Funktion die Bandbreite automatisch einstellt. Um die Bandbreite einzustellen, können wir die Funktion covariance_factor
der Klasse gaussian_kde
verwenden. Wir rufen dann die _compute_covariance
-Methode auf, so dass alle Faktoren korrekt berechnet werden, um die genaue Darstellung zu erzeugen.
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import kde
data = [2, 3, 3, 4, 2, 1, 5, 6, 4, 3, 3, 3, 6, 4, 5, 4, 3, 2]
prob_density = kde.gaussian_kde(data)
prob_density.covariance_factor = lambda: 0.25
prob_density._compute_covariance()
x = np.linspace(-2, 10, 300)
y = prob_density(x)
plt.plot(x, y)
plt.title("Density Plot of the data")
plt.show()
Ausgabe:
Generieren der Dichtekurve mit der Methode kdeplot()
aus dem Paket seaborn
import matplotlib.pyplot as plt
import seaborn as sns
data = [2, 3, 3, 4, 2, 1, 5, 6, 4, 3, 3, 3, 6, 4, 5, 4, 3, 2]
sns.kdeplot(data, bw=0.25)
plt.show()
Ausgabe:
Auf diese Weise können wir den Dichteplot erzeugen, indem wir die Daten einfach in die kdeplot()
Methode übergeben.
Generieren des Dichtediagramms mit der distplot()
Methode aus dem seaborn
-Paket
Wir können auch die Methode distplot()
aus dem Paket seaborn
verwenden und hist=False
setzen, um den Dichteplot zu erzeugen.
import matplotlib.pyplot as plt
import seaborn as sns
data = [2, 3, 3, 4, 2, 1, 5, 6, 4, 3, 3, 3, 6, 4, 5, 4, 3, 2]
sns.distplot(data, hist=False)
plt.show()
Ausgabe:
Setzen Sie kind='density'
in pandas.DataFrame.plot()
Methode zur Erzeugung des Dichtediagramms
import pandas as pd
import matplotlib.pyplot as plt
data = [2, 3, 3, 4, 2, 1, 5, 6, 4, 3, 3, 3, 6, 4, 5, 4, 3, 2]
df = pd.DataFrame(data)
df.plot(kind="density")
plt.show()
Ausgabe:
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn