2014-02-10 16 views
0

我有我的图像功能出图网格场

df <- datainSUB 

yr mo dy hr lon lat cell sst avg moavg 
1900 6 5 17 -73.5 -60.5 83 2.4 2.15 3.15 
1900 6 7 17 -74.5 -60.5 83 3.9 2.15 3.15 
1900 8 17 17 -70.5 -60.5 83 -0.9 2.15 0.60 
1900 8 18 17 -73.5 -60.5 83 2.1 2.15 0.60 
1900 9 20 17 -71.5 -60.5 83 0.2 2.15 2.20 
1900 9 21 17 -74.5 -61.5 83 1.6 2.15 2.20 

gridplot <- function(df){ 
    pdf(paste(df$mo,".pdf")) 
    # Compute the ordered x- and y-values 
    LON <- seq(-180, 180, by = space) 
    LAT <- seq(-90, 90, by = space) 

    # Build the matrix to be plotted 
    moavg <- matrix(NA, nrow=length(LON), ncol=length(LAT)) 
    moavg[cbind(match(round(df$lon, -1), LON), match(round(df$lat, -1), LAT))] <- df$moavg 

    # Plot the image 
    image(LON, LAT, moavg) 
    map(add=T,col="saddlebrown",interior = FALSE, database="world") 
    dev.off() 
} 

我想一个颜色图例添加到情节绘制网格化领域,但我不知道该怎么做。也许ggplot更好?

非常感谢

+0

这是我们更容易很多,如果你给我们一个样本数据集,我们可以一起工作。你可以粘贴什么'dput(datainSUB)'看起来像? – nograpes

+1

你为什么要用PDF格式打包它?先让它在屏幕上工作。 – Spacedman

回答

0

添加以下行绘制你的数据之后:

legend(x="topright", "your legend goes here", fill="saddlebrown")