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

如何用ggplot2在facet_grid中绘制符合要求的多折线图?

在ggplot2的facet_grid中绘制多折线图

核心步骤:转长格式数据 + 按RMSE类型分组绘图

首先,折线图要求数据为长格式(tidy data),如果你的原始数据是宽格式(RMSE_MB和RMSE_TMB各占一列),第一步需要转换数据结构:

library(tidyverse)

# 转换宽格式为长格式
df_long <- 你的数据框名 %>%
  pivot_longer(
    cols = c(RMSE_MB, RMSE_TMB),  # 指定要转换的RMSE列
    names_to = "RMSE类型",        # 新列名:存储RMSE的类别
    values_to = "RMSE值"          # 新列名:存储对应的RMSE数值
  )

接下来用ggplot2绘制带分面的折线图,通过group和color参数区分两条折线,facet_grid实现分面布局:

ggplot(df_long, aes(x = phi, y = RMSE值, group = RMSE类型, color = RMSE类型)) +
  geom_line(linewidth = 1) +  # 绘制折线
  geom_point(size = 2) +      # 标记数据点
  facet_grid(~ 你的分面变量) +  # 替换为实际分面变量,比如facet_grid(row_var ~ col_var)实现行列分面
  labs(
    x = "Phi",
    y = "RMSE",
    color = "RMSE类型"
  ) +
  theme_bw()  # 可选:更换主题,让图表更清晰

关键注意事项

  • 确保phi列是有序的(比如因子类型或连续值),这样折线会按正确顺序连接
  • group = RMSE类型是让每个RMSE类别单独形成折线的核心,必须设置
  • 如果分面需要多行多列,调整facet_grid的参数,比如facet_grid(分组变量1 ~ 分组变量2)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 09:57:39