Matplotlib-Dichte-Plot

  1. Erzeugen des Dichtediagramms mit der Methode gaussian_kde() aus dem Modul scipy.stats
  2. Generieren der Dichtekurve mit der Methode kdeplot() aus dem Paket seaborn
  3. Generieren des Dichtediagramms mit der distplot() Methode aus dem seaborn-Paket
  4. Setzen Sie kind='density' in pandas.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:

Erzeugen Sie den Dichteplot mit der gaussian_kde-Methode

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 : .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 Sie mit der gaussian_kde-Methode ein präziseres Dichtediagramm

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:

Generieren Sie den Dichteplot mit der kdeplot-Methode

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:

Erzeugen Sie den Dichteplot mit der distplot-Methode

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:

Setzen Sie kind=density in pandas.DataFrame.plot, um das Dichtediagramm zu erzeugen