## make sure poisonoak1.txt is in R's working directoryinstall.packages("maps")library(maps)library(help=maps)install.packages("maptools")library(maptools)x = scan("poisonoak1.txt",skip=1)lat = x[(1:84)*2-1]lon = x[(1:84)*2]map("county", c("california"))## help(map)map.axes()map("county", c("california,los angeles"))map.axes()points(lon,lat,cex=.5)mtext(s=3,"Poison oak sightings in LA County \n according to calflora.org Sept 2009")## binsize = .1 degree in both lon and latx1 = matrix(0,nrow=14,ncol=10)for(i in 1:14){    for(j in 1:10){	x1[i,j] = sum((lon < -119 + .1*i) & (lon > -119.1 + .1*i - .001) & 	    (lat < 33.7 + .1*j) & (lat > 33.6 + .1*j - .001))    }}par(mfrow=c(1,2))map("county", c("california,los angeles"))map.axes()image(-119+c(1:14)*.1-.05,33.7+c(1:10)*.1-.05,x1,add=T,col=gray((64:20)/64))points(lon,lat,cex=.5)map("county", c("california,los angeles"),add=T)## now add a legendzmin = min(x1)zmax = max(x1)zrng = zmax-zminzmid = zmin+zrng/2zgrid = seq(zmin,zmax,length=100)plot(c(0,10), c(zmid-2*zrng/3,zmid+2*zrng/3), type="n", axes=F, xlab="",ylab="")image(c(-1:1), zgrid, matrix(rep(zgrid,2), ncol=100, byrow=T), add=T,col=gray((64:20)/64))text(2.5, zmin, as.character(signif(zmin,2)), cex=1)text(2.5, zmax, as.character(signif(zmax,2)), cex=1)text(2.5, zmid, as.character(signif(zmid,2)), cex=1)text(4.5, zmid, "Values", srt=-90)
