如何基于数据框单列绘制仅展示Top5的barplot条形图
R语言条形图仅展示高频取值的实现方法
你可以先对原始频数表做降序排序后截取前5位,再传入barplot()绘制即可,核心代码如下:
# 对目标列生成频数表并按频次降序排序 sorted_freq <- sort(table(DF$COLUMN), decreasing = TRUE) # 仅取前5个高频取值绘制条形图 barplot(sorted_freq[1:5])
常用优化方案
- 若需要同时展示剩余低频取值的汇总数据,可新增「其他」分类合并统计:
sorted_freq <- sort(table(DF$COLUMN), decreasing = TRUE) # 合并前5位高频值 + 剩余值总和 plot_data <- c(sorted_freq[1:5], `其他` = sum(sorted_freq[-(1:5)])) barplot(plot_data) - 若取值标签过长导致显示不全,可添加
las=2参数让X轴标签垂直展示:barplot(sorted_freq[1:5], las = 2, xlab = "取值类别", ylab = "出现频次")
内容的提问来源于stack exchange,提问作者Joseph C
相关产品推荐
相关产品推荐

