You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用ggplot2绘制按降序排列并显示占比的条形图

实现指定顺序的百分比条形图

以下是满足需求的完整可复现代码,包含数据处理、分类排序和绘图的全流程:


步骤1:加载依赖包

library(tidyverse)

步骤2:处理数据并指定分类顺序

先统计各分类的出现数量,计算百分比,再手动指定条形的排列顺序:

data <- chickwts %>%
  count(feed) %>%
  mutate(percent = n / sum(n) * 100) %>%
  # 按你要求的顺序定义分类因子的层级
  mutate(feed = factor(feed, levels = c("soybean", "casein", "linseed", "sunflower", "horsebean")))

步骤3:绘制条形图

ggplot(data = data, aes(x = feed, y = percent)) +
  geom_bar(stat = "identity", fill = "#4285F4") +
  labs(x = "饲料类型", y = "出现频率(%)", title = "各饲料类型的频率分布") +
  theme_light()

关键说明

  • 用count()统计数量再计算百分比,比直接依赖stat(count)更灵活可控
  • 通过factor()的levels参数,能严格按照你指定的顺序排列条形
  • 若需要自动按百分比降序/升序排列,可替换为fct_reorder(feed, percent, .desc = TRUE)来替代手动指定层级

内容的提问来源于stack exchange,提问作者NJF

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 15:55:27