我有一个包含50个功能的5000个产品的数据集 . 其中一列是“颜色”,列中有100多种颜色 . 我正在尝试绘制一个条形图,仅显示前10种颜色以及每种颜色中有多少种产品 .
top_colors = df.colors.value_counts()
top_colors[:10].plot(kind='barh')
plt.xlabel('No. of Products');
使用Seaborn:
sns.factorplot("colors", data=df , palette="PuBu_d");
1)有更好的方法吗?
2)我怎样才能用Seaborn复制这个?
3)如何绘制最高计数位于顶部(即条形图最顶部的黑色)
2 回答
一个简单的技巧可能是反转绘图的y轴,而不是使用数据进行预测:
Seaborn
barplot
当前不支持水平方向条,但如果要控制条形图的显示,可以将值列表传递给x_order
参数 . 但无论如何,我认为在这里使用大熊猫绘图方法更容易 .如果你想使用熊猫,你可以先排序:
Seaborn已经为您的熊猫情节设计了样式,但您也可以使用: