limit the number of groups shown in seaborn countp

2019-03-15 18:37发布

问题:

Is it possible to show only the top/bottom n groups in asns.countplot()?

Using an example from the seaborn website,

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

Is there any easy (or even relatively straightforward) way of limiting this plot to just 3 decks (groups) instead of displaying all 7 or is this something that would be better accomplished with an sns.bargraph or just plain matplotlib?

回答1:

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)



回答2:

Just adding real example instead of toy dataset. Assuming you have Pandas Data Frame name training_var and you want to display top 10 'Gene' column counts 'order=' bit should look as follows:

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