chcę mieć zarówno month
i day
w osi x-ów z serii działce czasu podczas korzystania facet
lat w ggplot2
. Moja MWE jest poniżej:daty z miesiąc i dzień w serii działce czasu w ggplot2 z obwódką na lata
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)
Starałem się kontrolować etykiety osi x za pomocą następującego polecenia
p + scale_y_continuous() + scale_x_date(labels = date_format("%d-%b"))
Ale to rzuca się następujący komunikat o błędzie.
Error: Invalid input: date_trans works with objects of class Date only
Każda pomoc w rozwiązaniu tego problemu będzie bardzo cenna. Z góry dziękuje za twoją pomoc.
Dzięki @ G.Grothendieck za komentarz i zainteresowanie moim problemem. Użycie 'x = Date' będzie niepotrzebnie przez wszystkie cztery lata w osi X, co nie jest wymagane. – MYaseen208