voglio avere sia month
e day
in asse x del grafico temporale quando si utilizza facet
per anni in ggplot2
. Il mio MWE è qui sotto:date con il mese e il giorno in grafico temporale in ggplot2 con sfaccettatura per anni
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)
ho cercato di controllare le etichette di asse x con il seguente comando
p + scale_y_continuous() + scale_x_date(labels = date_format("%d-%b"))
Ma getta il seguente messaggio di errore.
Error: Invalid input: date_trans works with objects of class Date only
Qualsiasi aiuto per risolvere questo problema sarà molto apprezzato. Grazie in anticipo per il vostro aiuto.
Grazie @ G.Grothendieck per il tuo commento e mostrando interesse per il mio problema. L'uso di 'x = Date' avrà inutilmente tutti e quattro gli anni nell'asse x che non è richiesto. – MYaseen208