Graphique de densité de Matplotlib
-
Générer le graphe de densité en utilisant la méthode
gaussian_kde()
du modulescipy.stats
-
Générer le graphe de densité en utilisant la méthode
kdeplot()
à partir du paquetseaborn
-
Générer le graphe de densité en utilisant la méthode
distplot()
du paquetseaborn
-
Définissez
kind='density'
danspandas.DataFrame.plot()
Méthode pour générer le graphe de densité
Pour générer un diagramme de densité en Python, nous estimons d’abord la fonction de densité à partir des données données données en utilisant la méthode gaussian_kde()
du module scipy.stats
. Nous traçons ensuite la fonction de densité pour générer le diagramme de densité. Alternativement, nous pouvons aussi utiliser kdeplot()
du paquet seaborn
ou mettre kind='density'
dans la méthode pandas.DataFrame.plot()
pour générer le graphe de densité.
Générer le graphe de densité en utilisant la méthode gaussian_kde()
du module 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()
Production :
Ici, nous estimons d’abord la fonction de densité pour les données données données en utilisant la méthode gaussian_kde()
. Ensuite, nous traçons la fonction pour des valeurs allant de -2
à 10
en utilisant la méthode plot()
.
Le tracé de la densité généré n’est pas assez précis car la fonction gaussian_kde
règle automatiquement la largeur de bande. Pour définir la largeur de bande, nous pouvons utiliser la fonction covariance_factor
de la classe gaussian_kde
. Nous appelons alors la méthode _compute_covariance
afin que tous les facteurs soient calculés correctement pour générer le tracé précis.
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()
Production :
Générer le graphe de densité en utilisant la méthode kdeplot()
à partir du paquet 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()
Production :
De cette façon, nous pouvons générer le graphe de densité en passant simplement les données dans la méthode kdeplot()
.
Générer le graphe de densité en utilisant la méthode distplot()
du paquet seaborn
Nous pouvons également utiliser la méthode distplot()
du paquet seaborn
et mettre hist=False
pour générer le graphe de densité.
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()
Production :
Définissez kind='density'
dans pandas.DataFrame.plot()
Méthode pour générer le graphe de densité
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()
Production :
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn