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

R语言facet_wrap分面绘制工作日分时均值及geom_smooth实现

错误原因
  • 重复调用group_by()会覆盖前一次的分组设置,你第一次按day分组,第二次又按hour分组,最终相当于只按小时全局计算均值,所以所有分面的结果都完全一致
  • 你的需求是按工作日+小时两个维度分组计算均值,不是单独按day或者hour分组
  • 你提供的示例数据中,实际值字段为Online_h,如果你的真实数据中对应字段是Value,替换即可
正确实现代码
library(dplyr)
library(ggplot2)

df %>%
  # 双字段分组:工作日+小时,保证计算的是每个工作日对应小时的独立均值
  group_by(weekdays, hour) %>%
  # 汇总计算均值,计算完成后自动取消分组,避免残留分组影响后续操作
  summarise(avg_hour = mean(Online_h), .groups = "drop") %>%
  ggplot(aes(x = hour, y = avg_hour)) + 
  geom_line(linewidth = 1, color = "#2c3e50") + 
  # 添加拟合线,method可替换为lm等其他拟合方法,se=TRUE可展示置信区间
  geom_smooth(method = "loess", se = FALSE, color = "#e74c3c", linetype = "dashed") +
  ylab("可用司机数") + 
  xlab("小时") +
  # 按工作日分面,添加scales = "free_y"可让每个分面Y轴范围独立
  facet_wrap(vars(weekdays)) +
  theme_bw()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 08:06:02