2 votes

Utiliser un axe non catégoriel à espacement irrégulier sur un graphique catégoriel dans seaborn.

Je crée un graphique en violon dans Seaborn, qui, par défaut, suppose que l'axe des x est catégorique et, par conséquent, espace uniformément les données, plutôt que de les mettre à l'échelle par une valeur. Je voudrais que l'espacement entre les violons individuels soit défini par des valeurs associées à chaque violon, plutôt que de les espacer uniformément. J'ai lu un certain nombre de choses suggérant que je peux écraser les valeurs par défaut avec des commandes matplotlib, mais je n'arrive pas à faire fonctionner quoi que ce soit.

sns.set(palette='muted', color_codes=True)
f, axes = plt.subplots(2, 2, figsize=(8,5))
sns.violinplot(x = lsdf['6MO_CUM_MBO/1000FT'], y = lsdf.RELATIVE_DEPTH,
data=lsdf, palette="Blues", ax=axes[0,0])

Je pense que le problème principal est que je ne sais pas exactement ce que les valeurs par défaut de Seaborn contrôlent. Dois-je modifier l'objet axes créé par les sous-plots ? ou l'objet ax=[0,0] ?

La seule réponse que j'ai trouvée à une question similaire avait une solution qui était juste, "faites-le dans matplotlib," mais j'ai besoin des graphiques disponibles dans seaborn. Merci pour votre aide.

seaborn categorical violin plot

0voto

Jonathan Fry Points 423

Eh bien, j'ai finalement résolu ce problème, en quelque sorte... J'ai cédé et utilisé matplotlib pur, j'ai abandonné Seaborn. Le violinplot de matplotlib prend un tableau de type positions qui, lorsqu'on lui transmet des valeurs numériques, met automatiquement à l'échelle l'axe des x et se comporte exactement de la même manière que l'argument plt.plot ou tout autre tracé où la position du marqueur et la portée de l'axe sont dérivées des données d'entrée. J'ai toujours utilisé seaborn.set() pour obtenir l'esthétique Seaborn. Il y a la personnalisation de la parcelle de violon de matplotlib. documentation qui contient de bons exemples de la façon de modifier les détails des violons, ce qui m'a permis de personnaliser les violons et d'imiter toutes les parties de la trame du violon Seaborn.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X