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

如何在R Studio中为指定BMI双向表绘制替换Category的多变量条形图

在R Studio中绘制BMI分类多变量条形图

1. 数据准备(适配双向表格)

如果你的数据是汇总好的双向表格(比如按性别和BMI分类统计的计数表),先把它转换为ggplot需要的长格式数据:

# 加载tidyverse工具包(包含数据处理和绘图功能)
library(tidyverse)

# 示例:假设你已有双向表格bmi_table,转换为数据框
bmi_table <- table(your_data$Gender, your_data$BMI_Category) # 替换成你的实际变量名
bmi_data <- as.data.frame(bmi_table) %>% 
  rename(Gender = Var1, Category = Var2, Count = Freq)

如果你的数据是原始观测数据(每条记录对应一个样本的性别和BMI分类),可以直接跳过转换,直接绘图。

2. 绘制分组条形图(匹配参考图样式)

用ggplot2绘制类似参考图的分组条形图,将x轴设为分组变量(比如性别),不同Category用颜色区分:

ggplot(bmi_data, aes(x = Gender, y = Count, fill = Category)) +
  geom_bar(stat = "identity", position = position_dodge(width = 0.8)) + # 分组并排显示
  labs(
    title = "BMI分类按性别分布",
    x = "性别",
    y = "人数",
    fill = "BMI分类" # 图例名称替换为Category
  ) +
  theme_minimal() + # 简约主题,可替换为theme_bw()等
  scale_fill_brewer(palette = "Set2") # 可选配色,也用默认配色

如果需要堆叠条形图(而非分组),只需把position = position_dodge()改成position = position_stack()即可。

3. 调整细节(可选)

  • 调整条形宽度:修改position_dodge(width = 0.8)中的width值
  • 添加数据标签:增加geom_text(aes(label = Count), position = position_dodge(width = 0.8), vjust = -0.5)
  • 自定义主题:比如修改标题大小theme(plot.title = element_text(size = 14, face = "bold"))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 23:05:34