[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