Я пытаюсь построить временной ряд с годами на разных линиях. Возьмите этот пример:
library(ggplot2)
library(lubridate)
library(dplyr)
df = data.frame(dt = seq(as.Date("2015/01/01"), by = "day", length.out = 1000),
num = c(sample(1:333), sample(333:665), sample(665:998)))
Затем с этими примерами данных я пытаюсь построить:
ggplot(df, aes(x= format(dt, format="%m-%d"), y=num, group = as.factor(year(dt))))
+ geom_line()
Это возвращает предупреждение о том, что geom_path: Each group consists of only one observation. Do you need to adjust the group aesthetic?
. Замена color
на group
дает мне что-то похожее на то, что я хочу, но ось X имеет слишком много меток, поскольку ее тип — строка.
Как бы вы сделали так, чтобы ось x отображала здесь только 1-й день каждого месяца? Или есть лучший способ построить такой временной ряд?
x=format(dt,format="%m-%d")
и просто используюx=dt
, я получу правильное форматирование. Дополнительные параметры — ggplot2.tidyverse.org/reference/scale_date.html - person Jason   schedule 16.01.2018