Sto provando a tracciare il cambiamento in una serie storica per ogni anno di calendario usando ggplot e sto avendo problemi con il controllo fine dell'asse x. Se io non uso scale="free_x"
poi io alla fine con un asse x che mostra diversi anni, così come l'anno in questione, in questo modo:R ggplot e facet grid: come controllare le interruzioni sull'asse x
Se io uso scale="free_x"
allora come ci si aspetterebbe I finisce con etichette delle tacche per ogni trama, e che in alcuni casi variano da trama, che io non voglio:
ho fatto vari tentativi di definire l'asse x utilizzando scale_x_date ecc, ma senza alcun successo. La mia domanda è quindi:
D. Come posso controllare le interruzioni e le etichette dell'asse x su una griglia di sfaccettatura ggplot in modo che l'asse x (serie storica) sia identico per ogni sfaccettatura, mostrato solo nella parte inferiore della pannello ed è sotto forma di mesi formattati 1, 2, 3 ecc. oppure come 'Jan', 'Feb', 'Mar'?
Codice segue:
require(lubridate)
require(ggplot2)
require(plyr)
# generate data
df <- data.frame(date=seq(as.Date("2009/1/1"), by="day", length.out=1115),price=runif(1115, min=100, max=200))
# remove weekend days
df <- df[!(weekdays(as.Date(df$date)) %in% c('Saturday','Sunday')),]
# add some columns for later
df$year <- as.numeric(format(as.Date(df$date), format="%Y"))
df$month <- as.numeric(format(as.Date(df$date), format="%m"))
df$day <- as.numeric(format(as.Date(df$date), format="%d"))
# calculate change in price since the start of the calendar year
df <- ddply(df, .(year), transform, pctchg = ((price/price[1])-1))
p <- ggplot(df, aes(date, pctchg)) +
geom_line(aes(group = 1, colour = pctchg),size=0.75) +
facet_wrap(~ year, ncol = 2,scale="free_x") +
scale_y_continuous(formatter = "percent") +
opts(legend.position = "none")
print(p)
Sasu ga kohske. Semplice e logico quando ci pensi e funziona molto bene con i miei dati. Potrei anche chiedere se c'è (un modo semplice per fare in modo che le interruzioni e le etichette vadano da gennaio a dicembre anziché andare da gennaio a gennaio come nel tuo screenshot qui sopra? Posso vivere con Jan a Jan, mi chiedo solo se c'è un Grazie Dan – SlowLearner
Arigatou gozaimasu, probabilmente non è facile nella versione attuale – kohske
Capito, lo accetterò come è con apprezzamento – SlowLearner