Réglez la poignée de la légende Solution facile avec les deux lignes suivantes!
python
handler, label = ax.get_legend_handles_labels()
ax.legend(handler, ["label1", "label2"])
Nous utiliserons des données titanesques comme exemple. L'ensemble de données titanesque est décrit à de nombreux endroits. Par exemple, l'article suivant. Référence: "Titanic: ensemble de données tabulaires sur l'état de survie (13 éléments tels que l'âge et le sexe) des passagers du Titanic" https://www.atmarkit.co.jp/ait/articles/2007/02/news016.html
python
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
sns.set("talk")
df = sns.load_dataset('titanic')
df.head()
Le résultat de sortie ressemble à ceci.
Ici, je vais tracer la distribution par âge pour chaque pclass (classe de passagers).
python
sns.violinplot(data=df, x='pclass', y='age')
En regardant la figure, nous pouvons voir qu'il y a beaucoup de jeunes générations dans pclass3. Creusez plus profondément, "Y a-t-il une différence de vie et de mort dans la répartition par âge de chaque classe?" J'aimerais voir.
python
fig,ax=plt.subplots()
sns.violinplot(data=df, x='pclass', y='age',hue="alive",split=True, ax=ax)
ax.legend(loc='upper left',bbox_to_anchor=(1.05,1))
Vous pouvez diviser le tracé du violon en deux en spécifiant la teinte. La légende est placée à l'extérieur de la figure pour plus de clarté.
C'est finalement le sujet principal. Ce qui est inquiétant ici, c'est l'étiquette légendaire. Si vous dites non ou oui, vous ne savez pas ce que c'est quand vous le regardez plus tard. C'est parce que le contenu non / oui de la colonne active de df est spécifié tel qu'il est dans l'étiquette.
Par conséquent, récupérez le descripteur de label et spécifiez-le directement.
python
fig,ax=plt.subplots()
sns.violinplot(data=df, x='pclass', y='age',hue="alive",split=True, ax=ax)
ax.legend(loc='upper left',bbox_to_anchor=(1.05,1))
handler, label = ax.get_legend_handles_labels()
ax.legend(handler, ["dead","alive"],loc='upper left',bbox_to_anchor=(1.05,1))
Vous pouvez déterminer en toute sécurité si l'étiquette est mort / vivant et il n'y a aucune différence entre la vie et la mort, même si vous la regardez plus tard.
Au fait, comme j'ai découvert qu'il était divisé par la vie et la mort
--Lorsque pclass2,3, le pourcentage de vivants est élevé dans les groupes d'âge plus jeunes tels que les adolescents
Vous pouvez voir diverses choses telles que.
Bien sûr, vous pouvez faire la même chose avec Swarm Lot.
python
fig,ax=plt.subplots()
sns.swarmplot(data=df, x='pclass', y='age',hue="alive",dodge=True, ax=ax)
ax.legend(loc='upper left',bbox_to_anchor=(1.05,1))
handler, label = ax.get_legend_handles_labels()
ax.legend(handler, ["dead","alive"],loc='upper left',bbox_to_anchor=(1.05,1))
Python: essayez la visualisation avec seaborn https://blog.amedama.jp/entry/seaborn-plot
Recommended Posts