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

R语言:同一观测中两个连续变量的直方图绘制需求

双变量频次对比直方图绘制方案

针对你的数字X光分析项目需求,这里提供用ggplot2绘制双变量直方图的具体实现步骤:

1. 数据格式转换

你的原始数据是宽格式(result1和result2为独立列),而分组直方图需要长格式数据(将两个结果列合并为一列,新增变量标识来源),用tidyr::pivot_longer即可完成转换。

2. 完整代码示例

# 加载必要包
library(tidyverse)

# 模拟你的数据结构(替换为实际数据框)
xray_data <- tibble(
  n = 1:2,
  result1 = c(24.3, 45.7),
  result2 = c(15.2, 89.7)
)

# 转换为长格式
long_data <- xray_data %>%
  pivot_longer(cols = starts_with("result"), 
               names_to = "variable", 
               values_to = "value")

# 绘制分组直方图
ggplot(long_data, aes(x = value, fill = variable)) +
  geom_histogram(binwidth = 5, alpha = 0.7, position = "dodge") + # binwidth可按需调整
  scale_x_continuous(limits = c(0, 100), breaks = seq(0, 100, 10)) + # 固定X轴0-100范围
  scale_fill_manual(values = c("result1" = "#2E86AB", "result2" = "#F24C4C")) + # 自定义区分颜色
  labs(x = "输出结果", y = "频数", fill = "变量") +
  theme_minimal()

关键参数说明

  • binwidth: 控制直方图组距,可根据数据分布调整(比如设为2或10)
  • alpha: 设置柱子透明度,避免两组重叠时遮挡
  • position = "dodge": 让两组柱子并列显示(若需叠加显示可改为position = "stack")
  • scale_x_continuous: 强制X轴范围匹配变量0-100的取值区间

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 21:32:08