在成功(在你的帮助下)绘制单个(一个变量)图形中的meteo变量后,我试图在一个面板中生成一个包含我的数据中不同变量的时间序列的面板,如{{{ 3}}。我尝试使用我的数据重现ggplot2 webpage example(页面底部的最后一个图表),但没有成功
我的数据已经持续了好几年,但我只附上了一个月。您可以在that example
处看到dput(datos)的输出这是我正在尝试的代码
datos=read.csv("paterna.dat",sep=";",header=T,na.strings="-99.9")
dm=melt(datos,id="FECHA.H_SOLAR")
datos$PRECIP[is.na(datos$PRECIP)]=0
dm=melt(datos,id="FECHA.H_SOLAR")
qplot(date, value, data = dm, geom = "line", group = variable) + facet_grid(variable ~ ., scale = "free_y")
Error: geom_line requires the following missing aesthetics: x
Además: Mensajes de aviso perdidos
1: In min(x) : ningún argumento finito para min; retornando Inf
2: In max(x) : ningun argumento finito para max; retornando -Inf
我尝试了qplot,因为它出现在引用的例子中,但也许最好使用ggplot并设置美学。然后我也可以自定义轴。
提前致谢
答案 0 :(得分:7)
问题是双重的。首先,融化的date
中没有data.frame
对象,它会给出错误消息。其次,您的FECHA.H_SOLAR
是一个可以严格绘制日期的因素。所以这是我的解决方案:
datos <- source("http://ubuntuone.com/42j1RqUmNmxUuCppW4gElX")[[1]]
library(reshape2)
library(ggplot2)
datos$PRECIP[is.na(datos$PRECIP)] <- 0
dm <- melt(datos,id="FECHA.H_SOLAR")
# change FECHA.H_SOLAR to POSIXct so you get your dates right
dm$Fecha <- as.POSIXct(dm$FECHA.H_SOLAR, "%y/%m/%d %H:%M:%S", tz = "")
qplot(Fecha, value, data = dm, geom = "line", group = variable) +
facet_grid(variable ~ ., scale = "free_y")
希望它有助于