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

使用ggplot2绘制时间序列:按年份分组,X轴仅显示月日

解决方法:将两年数据叠加在同一面板的折线图

需求说明

需要用ggplot绘制两年内变量var的折线图,将两年观测数据叠加在同一个面板中,X轴仅显示月日信息,按年份分组区分线条。当前代码生成的是分面图,不符合需求。

数据预处理

首先对日期列做转换,把不同年份的日期统一映射到同一年(比如2020年),这样X轴能按月日顺序对齐,同时保留年份用于分组:

# 新增统一年份的月日列
dat <- dat %>%
  mutate(month_day = as.Date(paste("2020", format(date, "%m-%d"), sep = "-")))

绘图代码

修改ggplot代码,移除分面设置,使用处理后的month_day作为X轴,按year分组并设置线条颜色,同时调整X轴标签为月日格式:

ggplot(dat, aes(x = month_day, y = var, group = year, color = year)) +
  geom_line() +
  scale_x_date(date_labels = "%m-%d", date_breaks = "10 days") +
  labs(x = "月日", y = "var", color = "年份") +
  theme_minimal()

效果说明

生成的图表会在同一个面板中显示两条折线,分别对应2021年和2022年的数据,X轴仅展示月日信息,线条颜色按年份区分,实现两年数据的叠加对比。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 13:42:25