我尝试用ggplot
在两年内测量的变量var
绘制一个线形图。两年内的观测值应该在同一面板中显示在彼此的顶部。换句话说:x轴应该只显示月和日的信息,而年应该用于分组。我的数据看起来像这样:
# libraries
library(dplyr)
library(ggplot2)
# dummy data
dat <- data.frame(date = c(seq(as.Date("2021-06-01"),
as.Date("2021-08-01"),
by = "1 day"),
seq(as.Date("2022-05-15"),
as.Date("2022-07-15"),
by = "1 day"))) %>%
mutate(var = sample(1:10, length(date), replace = T)) %>%
mutate(year = format(date, "%Y"))
字符串
我目前有这个代码导致每年的小平面图。然而,如前所述,我想在同一面板中有2021年和2022年的线。
ggplot(dat, aes(x = date, y = var, group = year)) +
facet_wrap(~year, scales = "free_x") +
geom_line(aes(color = year))
型
输出量:
的数据
2条答案
按热度按时间bkhjykvo1#
这里有两个解决方案:
假约会
基于斯特凡的解决方案,但有点更普遍化。
字符串
x1c 0d1x的数据
使用年份网格
这一个涉及到一个简单的连接到一个完整的366天的网格和格式的数字规模手动看起来像一个日期。
型
的
创建于2023-10-28使用reprex v2.0.2
siotufzp2#
你可以创建一个假的日期变量,用同一个基年替换真实的年份,例如,在下面的代码中,我选择了2021年作为基年:
字符串
的数据