Estoy intentando trazar el cambio en una serie temporal para cada año calendario usando ggplot y estoy teniendo problemas con el control fino del eje x. Si yo no uso scale="free_x"
luego termino con un eje x que muestra varios años, así como el año en cuestión, así:R ggplot y rejilla de facetas: cómo controlar las rupturas del eje x
Si hago uso de scale="free_x"
entonces como uno esperaría que terminan con etiquetas señalizadoras para cada trama, y que en algunos casos puede variar por trama, que no quiero:
he hecho varios intentos para definir el eje x usando etc scale_x_date pero sin ningún éxito. Mi pregunta es por lo tanto:
P. ¿Cómo puedo controlar las roturas del eje x y las etiquetas en una cuadrícula de facetas ggplot para que el eje x (serie de tiempo) sea idéntico para cada faceta, se muestre solo en la parte inferior del y está en forma de meses formateados 1, 2, 3 etc. o como 'Jan', 'Feb', 'Mar'?
Código sigue:
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. Simple y lógico cuando lo piensas y funciona muy bien con mis datos. ¿También podría preguntar si hay alguna (forma sencilla de hacer que los descansos y las etiquetas vayan de enero a diciembre en lugar de pasar de enero a enero como en la captura de pantalla anterior?) Puedo vivir con Jan y Jan, solo me pregunto si hay una solución alternativa. Gracias Dan – SlowLearner
Arigatou gozaimasu. Probablemente no sea fácil en la versión actual. – kohske
Entendido, lo aceptaré como es con aprecio – SlowLearner