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

R语言如何基于3个变量在同一张图中绘制双箱线图

R语言同图表展示两个箱线图实现代码

方法1:基于ggplot2实现(推荐,美化灵活)

  • 先安装并加载所需依赖包
  • 将宽格式数据转换为长格式后分组绘图
    完整代码如下:
# 未安装依赖包先执行下一行安装
# install.packages(c("ggplot2", "tidyr"))
library(ggplot2)
library(tidyr)

# 生成示例数据
set.seed(42) 
data <- data.frame(Id=1:20, 
Q_3_1=sample(1:6, 20, replace=TRUE), 
Q_3_2=sample(1:6, 20, replace=TRUE), 
Level=sample(c("AAAA", "BBBB", "CCCC", "DDDD"), 20, replace=TRUE))

# 宽表转长表,提取需绘制的两个指标列
data_long <- pivot_longer(data, cols = c(Q_3_1, Q_3_2), names_to = "指标", values_to = "分值")

# 绘制箱线图
ggplot(data_long, aes(x = 指标, y = 分值, fill = 指标)) +
  geom_boxplot(width = 0.6) +
  labs(title = "两个指标分值分布对比", x = "指标", y = "分值") +
  theme_bw()

方法2:基于R基础绘图实现(无需加载第三方包)

如果不想安装额外包,可直接用基础绘图函数实现:

# 生成示例数据
set.seed(42) 
data <- data.frame(Id=1:20, 
Q_3_1=sample(1:6, 20, replace=TRUE), 
Q_3_2=sample(1:6, 20, replace=TRUE), 
Level=sample(c("AAAA", "BBBB", "CCCC", "DDDD"), 20, replace=TRUE))

# 直接绘制双箱线图
boxplot(data$Q_3_1, data$Q_3_2,
        names = c("Q_3_1", "Q_3_2"),
        col = c("lightblue", "orange"),
        main = "两个指标分值分布对比",
        xlab = "指标",
        ylab = "分值")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 06:51:02