2015-10-01 11 views
5

Ist es möglich, nur die oberen/unteren n Gruppen in einem sns.countplot() anzuzeigen?Die Anzahl der im seaborn countplot angezeigten Gruppen begrenzen?

ein Beispiel aus der Seaborn Website,

sns.countplot(y="deck", hue="class", data=titanic, palette="Greens_d"); 

enter image description here

Gibt es einen einfachen (oder sogar relativ einfach) Weg, um diese Handlung zu begrenzen, um nur 3 Decks (Gruppen) statt alle Anzeigen 7 oder ist das etwas, das besser mit einem sns.bargraph oder einfach nur Matplotlib durchgeführt werden würde?

Antwort

9
import seaborn as sns 
titanic = sns.load_dataset("titanic") 
sns.countplot(y="deck", hue="class", data=titanic, palette="Greens_d", 
       order=titanic.deck.value_counts().iloc[:3].index) 

enter image description here

1

Hinzufügen gerade reales Beispiel anstelle von Spielzeug-Datensatz. Angenommen, Sie haben Pandas Data Frame Name training_var und Sie wollen top 10 'Gene' Spalte zählt anzuzeigen 'bestellen =' Bit sollte wie folgt aussehen:

sb.countplot(x='Gene',data=training_var,order=pd.value_counts(training_var['Gene']).iloc[:10].index) 
Verwandte Themen