Я хочу иметь как month
, так и day
по оси x графика временных рядов при использовании facet
в течение лет в ggplot2
. Мой MWE ниже:
set.seed(12345)
Date <- seq(as.Date("2010/1/1"), as.Date("2014/1/1"), "week")
Y <- rnorm(n=length(Date), mean=100, sd=1)
df <- data.frame(Date, Y)
df$Year <- format(df$Date, "%Y")
df$Month <- format(df$Date, "%b")
df$Day <- format(df$Date, "%d")
df$MonthDay <- format(df$Date, "%d-%b")
p <- ggplot(data=df, mapping=aes(x=MonthDay, y=Y, shape=Year, color=Year)) + geom_point() +geom_line(aes(group = 1))
p <- p + facet_grid(facets = Year ~ ., margins = FALSE) + theme_bw()
print(p)
Я попытался управлять метками оси x со следующей командой
p + scale_y_continuous() + scale_x_date(labels = date_format("%d-%b"))
Но он выдает следующее сообщение об ошибке.
Error: Invalid input: date_trans works with objects of class Date only
Любая помощь для решения этой проблемы будет высоко оценена. Заранее благодарим за помощь.