[R] plotting a grid with color on a map

Ray Brownrigg Ray.Brownrigg at ecs.vuw.ac.nz
Wed May 13 13:33:50 CEST 2009


dxc13 wrote:
> Hi all,
> I have posted similar questions regarding this topic, but I just can't seem
> to get over the hump and find a straightforward way to do this.  I have
> attached my file as a reference.
> Basically, the attached file is a 5 degree by 5 degree grid of the the world
> (2592 cells), most of them are NA's.  I just want to be able to plot this
> grid over a world map and color code the cells.  For example, if a cell has
> a temperature less than 20 degrees it will be blue, 21 to 50 green color,
> 51-70 orange, 71+ red colored cells.  For any NAs, they should be colored
> white.
> 
> I know how to create a map of the world using map() and add a grid to it
> using map.grid(), but I can't color code the cells the way I need.  Is there
> a way to do this in R?
> 
> Thanks again.
> dxc13 http://www.nabble.com/file/p23514804/time1test.txt time1test.txt 

How about the following, which doesn't need a grid at all?

library(maps)
temp <- as.matrix(read.table("time1test.txt"))
xvals <- c(0, 0, 5, 5, 0)
yvals <- c(0, 5, 5, 0, 0)
map("world")
palette(rainbow(50))
for (lat in seq(-90, 85, 5))
   for (lon in seq(-180, 175, 5)) {
     col <- temp[(lat + 95)/5, (lon + 185)/5]
     if (!is.na(col)) polygon(lat + xvals, lon + yvals, col=col, border=NA)
   }
palette("default")

HTH
Ray Brownrigg




More information about the R-help mailing list