我正在尝试使用 facet_grid 绘制八年(2004-2011)系列的月降水量数据,以在单个图中绘制每年的月度值。但是,很多时候,在绘图时会出现问题(可能是我的错)。您可以看到我从 2004 年开始到 2011 年结束的每个图的 x 轴图,但我需要从 1 月到 12 月为每个年/方面运行该图。我怎样才能摆脱这个错误?
任何帮助将不胜感激。
在这里,您可以获得 dput(pcp.mensual) http://ubuntuone.com/0EZvmwXGnSkqNVwXZOnx8E的输出,以下是我使用的代码(一段较长的脚本)。
library(ggplot2)
library(plyr)
library(lubridate)
library(scales)
#---------------------------------------------------------------------
system("awk '{ print $1 \";\" $2 \";\" $3 \";\" $5 \";\" $10 \";\" $11 \";\" $13 }' visbel.cor > kk.dat",intern=T)
# Lectura de datos
datos=read.csv("kk.dat",sep=";",header=T,na.strings="-99.900")
# Inclusión de una columna con formato temporal
# (dato original en formato %y/%m/%d %H:%M:%S)
datos=within(datos, datetime <- as.POSIXct(paste(FECHA,H_SOLAR),format = "%y/%m/%d %H:%M:%S"))
# Creación del objeto datetime
#datetime <- as.POSIXct(paste(datos$FECHA,datos$H_SOLAR),format = "%y/%m/%d %H:%M:%S")
# Eliminación de valores NA en Precipitación para barplot
datos$Precipitacion[is.na(datos$Precipitacion)]=0
#---------------------------------------------------------------------
pcp.diaria=aggregate(cbind(Precip.diaria=Precipitacion) ~ FECHA, datos, sum)
pcp.diaria=within(pcp.diaria, date <- as.POSIXct(paste(pcp.diaria$FECHA),format = "%y/%m/%d"))
# Agregación mensual
pcp.diaria$mes <- floor_date(pcp.diaria$date, "month")
pcp.mensual=ddply(pcp.diaria, "mes", summarise, x = sum(Precip.diaria,na.rm=TRUE))
pcp.mensual$ano=year(pcp.mensual$mes)
colnames(pcp.mensual) <- c("mes", "Precip.mensual","ano")
#---------------------------------------------------------------------
ggplot(data=pcp.mensual,aes(x=mes, y=Precip.mensual)) +
facet_grid(ano ~. ) +
geom_bar(colour="blue",stat="identity",fill="blue") +