Heim > Backend-Entwicklung > Python-Tutorial > Warum funktioniert Seaborn Displot nicht mit Matplotlib-Subplots?

Warum funktioniert Seaborn Displot nicht mit Matplotlib-Subplots?

Barbara Streisand
Freigeben: 2024-10-29 06:33:30
Original
1037 Leute haben es durchsucht

Why Doesn't Seaborn Displot Work with Matplotlib Subplots?

Fehler: Seaborn Displot zeichnet nicht innerhalb von Unterplots auf

Seaborn Displot generiert bei Verwendung mit Matplotlib nicht wie erwartet nebeneinander liegende Plots. pyplot.subplots. Dieser Fehler tritt auf, weil displot eine Funktion auf Figurenebene ist, der der für Unterplots erforderliche Parameter „ax“ fehlt.

Lösung:

So beheben Sie das Problem und zeigen zwei Plots an In derselben Zeile muss das entsprechende Diagramm auf Achsenebene verwendet werden, das den Parameter „ax“ unterstützt. In diesem Fall ist histplot die bevorzugte Option. Hier ist der korrigierte Code:

<code class="python">import seaborn as sns
import matplotlib.pyplot as plt

fig, (ax1, ax2) = plt.subplots(1, 2)

sns.histplot(x=X_train['Age'], hue=y_train, ax=ax1)
sns.histplot(x=X_train['Fare'], hue=y_train, ax=ax2)</code>
Nach dem Login kopieren

Alternative Ansätze:

Wenn Sie displot bevorzugen, können Sie Ihre Daten mit pd.melt und in ein langes Format umstrukturieren Wenden Sie displot auf den transformierten Datenrahmen an.

<code class="python">dfl = X_train.melt(id_vars='passenger', value_vars=['Age', 'Fare'], var_name='category', value_name='value')

sns.displot(data=dfl, x='value', col='category', hue='passenger')</code>
Nach dem Login kopieren

Zusätzliche Überlegungen:

Für Diagramme auf Achsenebene mit mehreren Datenrahmen verwenden Sie pd.concat, um diese zu kombinieren und einen zuzuweisen eindeutige „Quelle“-Spalte, um den Ursprung jedes Datenpunkts zu identifizieren. Diese Spalte kann dann für row=, col= oder hue= verwendet werden.

Das obige ist der detaillierte Inhalt vonWarum funktioniert Seaborn Displot nicht mit Matplotlib-Subplots?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage