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?
Hi dxc13,
This might get you started:
temp1<-read.table("time1test.dat",header=TRUE)
mapcol<-color.scale(as.matrix(temp1[36:1,]),c(0.5,1),c(0.5,0),c(1,0))
# have to draw the map to get the user coordinates
map()
# get the limits of the map
maplim<-par("usr")
# transform the temperatures into colors, reversing the row order
color2D.matplot(temp1[36:1,],cellcolors=mapcol,axes=FALSE)
# don't erase the current plot
par(new=TRUE)
# draw an empty plot with the appropriate axes (I think)
plot(0,xlim=maplim[1:2],ylim=maplim[3:4],type="n")
# add the map over the color squares
map(add=TRUE)
This seems a bit wonky, probably because I haven't adjusted the
coordinates. Also, I'm only getting grayscale colors, even though the
colors in "mapcol" aren't gray. Don't know why yet.
Jim
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.