Pourquoi Seaborn Displot ne fonctionne-t-il pas avec les sous-parcelles Matplotlib ?

Barbara Streisand
Libérer: 2024-10-29 06:33:30
original
939 Les gens l'ont consulté

Why Doesn't Seaborn Displot Work with Matplotlib Subplots?

Erreur : Seaborn Displot ne trace pas dans les sous-parcelles

Seaborn Displot ne parvient pas à générer des tracés côte à côte comme prévu lorsqu'il est utilisé avec matplotlib. pyplot.subplots. Cette erreur se produit car Displot est une fonction au niveau de la figure qui ne dispose pas du paramètre « hache » requis pour les sous-parcelles.

Solution :

Pour résoudre le problème et afficher deux tracés sur la même ligne, il est nécessaire d'utiliser le tracé au niveau des axes approprié qui prend en charge le paramètre 'ax'. Dans ce cas, histplot est l’option privilégiée. Voici le code corrigé :

<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>
Copier après la connexion

Approches alternatives :

Si vous préférez utiliser displot, vous pouvez restructurer vos données dans un format long en utilisant pd.melt et appliquer displot au dataframe transformé.

<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>
Copier après la connexion

Considérations supplémentaires :

Pour les tracés au niveau des axes avec plusieurs dataframes, utilisez pd.concat pour les combiner et attribuer un colonne « source » unique pour identifier l'origine de chaque point de données. Cette colonne peut ensuite être utilisée pour row=, col= ou hue=.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal