Hi There, Raster package makes this an easy work!! I didn't have to wallow through my long code. Thank you to all those who contributed. Regards Ogbos
On 22 November 2010 18:43, Robert J. Hijmans <r.hijm...@gmail.com> wrote: > Ogbos, > > You can do this: > > library(raster) > xy<-cbind(x, y) > r <- rasterize(xy, raster(nrow=120, ncol=60), fun=sum) > > rb <- rev(rainbow(255,s=1,v=1,start=0,end=7/12,gamma=1,alpha=1)) > image(r, col=rb, ylab = "Longitude", xlab="Latitude" ) > > > Or, in your code, instead of this > z = t(grid3) > > this might work: > z = <- t(grid3[nrow(grid3):1,]) > > Robert > > On Sun, Nov 21, 2010 at 10:51 PM, ogbos okike <ogbos.ok...@gmail.com> > wrote: > > Dear all, > > I tried to use the code below to generate 3 X 3 grid of > latitude-longitude > > data. I use image to view the grid. However, latitude and longitude are > on > > the wrong axes. Thus, I want to swap the axes. I tried to swap x and y > in: > > image(x, ..) that did not help. I also wish to add color code to the > plot. > > Thanks for kind help. > > > > portion of the data: > > -3.3851 -65.3236 > > -3.2696 -65.2364 > > -3.2679 -65.2349 > > -17.6404 164.7025 > > -4.8285 148.8214 > > 2.6477 -67.6568 > > -0.2350 -73.4833 > > -16.8655 40.9587 > > 8.1179 -61.6474 > > -0.2755 93.3401 > > -17.1733 119.9011 > > 1.1245 -69.7640 > > -20.0035 -149.3088 > > -3.4200 177.8753 > > 3.0133 -67.5590 > > 15.4684 -21.9331 > > -17.6166 120.2656 > > -17.3888 165.9368 > > -17.6953 164.7335 > > -1.8623 -74.0017 > > -3.3562 -71.1195 > > -11.5775 130.1496 > > > > code: > > xy<-matrix(c(x, y), ncol=2) > > > > # 3 deg grid for counts > > grid3 <- matrix(0, nrow=120, ncol=60) > > > > # accumulate counts of points in cells > > for (i in 1:nrow(xy)) { > > if (xy[i, 1] == 180) > > ix = nrow(grid3) > > else > > ix <- floor((xy[i,1] + 180) / 3) + 1 > > > > if (xy[i, 2] == 90) > > iy = ncol(grid3) > > else > > iy <- floor((xy[i,2] + 90) / 3) + 1 > > > > # catch any subscript errors > > tryCatch( > > grid3[ix, iy] <- grid3[ix, iy] + 1, > > error = function(e) cat("Ignoring point out of bounds:", xy[i,], "\n") ) > > } > > rb<-rev(rainbow(255,s=1,v=1,start=0,end=7/12,gamma=1,alpha=1)) > > image( x = seq(-88.5, 88.5, 3), y = seq(-178.5, 178.5, 3), z = t(grid3), > > col=rb, ylab = "Longitude", xlab="Latitude" ) > > > > [[alternative HTML version deleted]] > > > > _______________________________________________ > > R-sig-Geo mailing list > > R-sig-Geo@stat.math.ethz.ch > > https://stat.ethz.ch/mailman/listinfo/r-sig-geo > > > [[alternative HTML version deleted]] _______________________________________________ R-sig-Geo mailing list R-sig-Geo@stat.math.ethz.ch https://stat.ethz.ch/mailman/listinfo/r-sig-geo