具有前 N 个项目和一个用于剩余项目的条形图

Posted

技术标签:

【中文标题】具有前 N 个项目和一个用于剩余项目的条形图【英文标题】:Barplot with top N items and one bin for the remaining items 【发布时间】:2018-06-08 15:55:53 【问题描述】:

我想绘制数据框列中项目的频率。我目前拥有的是以下内容:

cnt_srs = df['item_code'].value_counts().head(N) ## Top N elements
plt.figure(figsize=(16,8))
sns.barplot(cnt_srs.index, cnt_srs.values, alpha=0.8, color=color[7])
plt.ylabel('Number of Occurrences', fontsize=12)
plt.xlabel('Item Code', fontsize=12)
plt.xticks(rotation='vertical')
plt.suptitle('Top 40 Items', fontsize=20)
plt.show()

这基本上绘制了前 N 个元素的出现次数。前 15 个项目见下图。

我想做什么:

绘制前 N 个元素 + 为剩余元素绘制另一个条形图。 对于可视化,请参见下图。

请帮帮我,谢谢。

【问题讨论】:

【参考方案1】:

这是一种可能的方式。

listy = list()
listy.append(df['item_code'].value_counts()[N:].agg('sum'))
othr_srs = pd.Series(listy[0], index=['others'])
cnt_srs = cnt_srs.append(othr_srs)

我刚刚总结了数据框列中的剩余计数并为此创建了一个单独的系列,然后加入了这两个系列。

可能有一种更简单的方法,但这是我想出的。

【讨论】:

以上是关于具有前 N 个项目和一个用于剩余项目的条形图的主要内容,如果未能解决你的问题,请参考以下文章

在ggplot2中手动更改复杂堆叠条形图上y轴项目的顺序

具有 50 多个创建的虚拟变量的堆积条形图(百分比)? [关闭]

ggplot - 如何堆叠和分组条形图?

Pandas 堆积条形图为大型图例重复颜色

带有用于正值和负值的单独条形的条形图

ZingChart:具有一系列空值的堆积条形图