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

如何用ggplot绘制双变量对比图?适配自定义数据求助

解决方案

要创建你需要的对比图表(展示每个Recorded ID的Initial与Final值变化),可以按照以下步骤操作:

1. 加载必要工具包

先安装并加载ggplot2(绘图)和tidyr(数据格式转换):

install.packages(c("ggplot2", "tidyr"))
library(ggplot2)
library(tidyr)

2. 转换数据格式

ggplot更适合处理长格式数据,所以先把你的宽格式数据转换为长格式:

df_long <- df %>%
  pivot_longer(
    cols = c(Initial, Final),
    names_to = "Status",
    values_to = "Value"
  )

3. 绘制目标图表

用ggplot生成哑铃图(连接同一Recorded ID的两个数据点):

ggplot(df_long, aes(x = factor(`Recorded ID`), y = Value, group = `Recorded ID`)) +
  # 连接每个ID的Initial和Final值
  geom_line(color = "gray50", linewidth = 1) +
  # 绘制两个状态的点,用颜色和形状区分
  geom_point(aes(color = Status, shape = Status), size = 4) +
  # 设置坐标轴和图例标签
  labs(x = "Recorded ID", y = "数值", color = "状态", shape = "状态") +
  # 优化主题样式,可选
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

关键说明

  • 将Recorded ID转为分类变量(factor()),确保x轴按原始ID顺序排列
  • group = Recorded ID``参数保证每个ID的两个数据点能被线条正确连接
  • 通过color和shape区分Initial与Final,清晰展示数值变化

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 00:27:18