De la ayuda encuentran aquí he conseguido crear este panel G. múltiple: con el siguiente código:Lugar título del panel de G. múltiple con ggplot2
library(zoo)
library(ggplot2)
datos=read.csv("paterna.dat",sep=";",header=T,na.strings="-99.9")
datos$dia=as.POSIXct(datos[,1], format="%y/%m/%d %H:%M:%S")
datos$Precipitación[is.na(datos$Precipitación)]=0
xlim = as.POSIXct(c("2010-05-12 00:00:00", "2010-05-12 23:50:00"))
ylim = trunc(max(datos$Precipitación) + 5)
tmax = trunc(max(datos$Temperatura) + 5)
tmin = trunc(min(datos$Temperatura) - 5)
tmx = max(datos$Temperatura)
tmxpos=which.max(datos$Temperatura)
tmn = min(datos$Temperatura)
tmnpos=which.min(datos$Temperatura)
tmp=ggplot(data=datos,aes(x=dia, y=Temperatura)) + geom_line(colour="red") + ylab("Temperatura (ºC)") +
xlab(" ") + scale_x_datetime(limits=xlim ,format = "%H",major='hour') + scale_y_continuous(limits = c(tmin,tmax)) + geom_text(data=datos[tmxpos,], label=tmx, vjust=-1.5, colour="red") + geom_text(data=datos[tmnpos,], label=tmn, vjust=1.5, colour="blue")
pre=ggplot(data=datos,aes(x=dia, y=Precipitación)) + geom_bar(colour="blue",stat="identity",fill="blue") +
ylab("Precipitación (l)") + xlab("Hora solar") + scale_x_datetime(limits=xlim ,format = "%H",major='hour') + scale_y_continuous(limits=c(0,ylim))
vel=ggplot(data=datos,aes(x=dia, y=Velocidad)) + geom_line(colour="brown") + ylab("Velocidad (km/h)") + xlab(" ") + scale_x_datetime(limits=xlim ,format = "%H",major='hour') + scale_y_continuous(limits = c(0,100))
dir=ggplot(data=datos,aes(x=dia, y=Dirección)) + geom_line(colour="brown") + ylab("Dirección viento (grados)") + xlab(" ") + scale_x_datetime(limits=xlim ,format = "%H",major='hour') + scale_y_continuous(limits = c(0,360))
hum=ggplot(data=datos,aes(x=dia, y=Humedad.Relativa)) + geom_line(colour="blue") + ylab("Humedad relativa (%)") + xlab(" ") + scale_x_datetime(limits=xlim ,format = "%H",major='hour') + scale_y_continuous(limits = c(0,100))
grid.newpage()
pushViewport(viewport(layout = grid.layout(3, 2)))
print(tmp, vp = viewport(layout.pos.row = 1, layout.pos.col = 1))
print(vel, vp = viewport(layout.pos.row = 1, layout.pos.col = 2))
print(dir, vp = viewport(layout.pos.row = 2, layout.pos.col = 2))
print(hum, vp = viewport(layout.pos.row = 2, layout.pos.col = 1))
print(pre, vp = viewport(layout.pos.row = 3, layout.pos.col = 1:2))
Ahora me falta el título de la G. múltiple que quiero ser el conocido. Nombre de estación. No he encontrado cómo establecer el título principal en grid.newpage o viewport. He leído sobre grid.arrange pero no he podido encontrar la forma de usarlo en mi caso.
¿Cómo se puede hacer esto? Seguro que será una pregunta fácil para ti.
puede encontrar los datos de origen en http://ubuntuone.com/4G01ifn7cJ1jMIOKh
Gracias de antemano
ACTUALIZACIÓN: Gracias a koshke he encontrado la solución. El código de trabajo es:
grid.newpage()
pushViewport(viewport(layout = grid.layout(4, 2, heights = unit(c(0.5, 5, 5, 5), "null"))))
grid.text("MAIN TITLE", vp = viewport(layout.pos.row = 1, layout.pos.col = 1:2))
print(tmp, vp = viewport(layout.pos.row = 2, layout.pos.col = 1))
print(vel, vp = viewport(layout.pos.row = 2, layout.pos.col = 2))
print(dir, vp = viewport(layout.pos.row = 3, layout.pos.col = 2))
print(hum, vp = viewport(layout.pos.row = 3, layout.pos.col = 1))
print(pre, vp = viewport(layout.pos.row = 4, layout.pos.col = 1:2))
de [este documento] (http://www.google.at/url?sa=t&rct=j&q=push.viewport()% 20title% 20for & source = web & cd = 2 & ved = 0CCYQFjAB & url = http% 3A% 2F% 2Fstat.ethz.ch% 2FR-manual% 2FR-devel% 2Flibrary% 2Fgrid% 2Fdoc% 2Fviewports.pdf & ei = 62b0TsOsD6ni4QTJwMmNCA & usg = AFQjCNHHdoDtfIENYhX4HsbkNArFtl91Yw & cad = rja) Encontré el comando (último página pero uno) pero no estoy seguro de si es lo que está buscando 'grid.text (" ¡El usuario agrega un título! ", gp = gpar (fontsize = 20))' – Seb
@Seb, tal vez es posible adaptarse. Creo que tengo que nombrar viewports y luego buscar el que quiero colocar el texto. No estoy seguro de si va a funcionar, pero lo intentaré. Gracias – pacomet
el documento vinculado describe cómo obtener la ventana gráfica que está buscando; siento no poder ser de mucha ayuda, ¡pero no tengo experiencia con esto! – Seb