2014-02-10 18 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")