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
Matplotlib-Dichte-Plot

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: 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 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

Genießen Sie unsere Tutorials? Abonnieren Sie DelftStack auf YouTube, um uns bei der Erstellung weiterer hochwertiger Videoanleitungen zu unterstützen. Abonnieren
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Verwandter Artikel - Matplotlib Plot