2015-10-01 1 views
5

E 'possibile mostrare solo i gruppi n. in un sns.countplot()?limitare il numero di gruppi visualizzati nel countplot di Seaborn?

Utilizzando un esempio dal sito Seaborn,

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

enter image description here

C'è un modo semplice (o anche relativamente semplice) di limitare questa trama a soli 3 ponti (gruppi) invece di visualizzare tutti 7 o è qualcosa che sarebbe meglio realizzare con un sns.bargraph o semplicemente matplotlib?

risposta

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

Solo l'aggiunta di esempio concreto, invece di giocattolo set di dati. Supponendo di avere Pandas dati nome Telaio training_var e si desidera visualizzare top 10 'Gene' colonna conta 'ordinare =' po 'dovrebbe apparire come segue:

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