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