On Mon, 19 Dec 2005, Marc Schwartz (via MN) wrote: > On Mon, 2005-12-19 at 11:17 -0200, Ruben Roa wrote: > > DeaR comRades: > > > > I have a 2D spatial binomial process as shown in the data and code below. > > I am plotting the number of trials and the number of successes in the > > spatial > > binomial experiments and would like to draw the spatial cells were the > > trials > > and successes were counted, i.e. a partial grid in the plot only for those > > cells where there is a number. The cells are 2x2 km cells. The count of > > Trials and Success should ideally appear in the middle of the square cell. > > I know there is the 'grid' package but it seems the plots made using > > 'graphics' > > are not compatible with the plots made using 'grid' (as warned in the grid > > help > > pages). Thanks in advance. > > Ruben > > > > "fri"<-structure(list( > > coords=structure(c(606,606,608,608,608,608,608,610,610,610,610,610,610,610,612,612,612,612,612,612,614,614, > > 614,614,614,614,614,614,614,616,616,616,616,616,616,616,618,618,618,618,618,620,620,620,622,624, > > 4388,4390,4384,4386,4388,4390,4392,4380,4382,4384,4386,4388,4390,4392,4380,4382,4384,4386,4388,4390,4374, > > 4376,4378,4380,4382,4384,4386,4388,4390,4372,4374,4376,4378,4380,4382,4384,4364,4366,4374,4376,4378,4368, > > 4374,4376,4366,4366),.Dim=c(46,2)), > > data=c(3,2,0,0,11,4,0,1,1,3,5,9,3,0,0,16,7,0,0,0,0,0,0,0,4,1,0,0,0,0,4,9,12,0,0,0,0,0,4,5,2,1,0,0,0,0), > > units.m=c(4,6,1,1,12,7,1,2,3,4,5,11,5,2,2,17,8,1,1,1,1,1,1,3,6,4,2,2,1,2,8,11,15,1,1,1,2,1,8,6,5,1,2,2,1,1),), > > class="geodata") > > par(mfrow=c(1,2)) > > plot(fri$coords[,1],fri$coords[,2],type="n",xlab="Easting > > (km)",ylab="Northing (km)",main="Success") > > text(fri$coords[,1],fri$coords[,2],format(fri$data),cex=.6) > > plot(fri$coords[,1],fri$coords[,2],type="n",xlab="Easting > > (km)",ylab="Northing (km)",main="Trials") > > text(fri$coords[,1],fri$coords[,2],format(fri$units.m),cex=.6) > > > Is this what you want?: > > > par(mfrow=c(1,2)) > > plot(fri$coords[,1],fri$coords[,2],type="n", > xlab="Easting (km)",ylab="Northing (km)", > main="Success") > > text(fri$coords[,1],fri$coords[,2],format(fri$data),cex=.6) > > # Use rect() to draw the grids around the values > # The sides of each rectangle will be +/- 1 from the > # center point > rect(fri$coords[,1] - 1, fri$coords[,2] - 1, > fri$coords[,1] + 1 , fri$coords[,2] + 1) > > > plot(fri$coords[,1],fri$coords[,2],type="n", > xlab="Easting (km)",ylab="Northing (km)", > main="Trials") > > text(fri$coords[,1],fri$coords[,2],format(fri$units.m),cex=.6) > > # Same here > rect(fri$coords[,1] - 1, fri$coords[,2] - 1, > fri$coords[,1] + 1 , fri$coords[,2] + 1) > > > If so, see ?rect.
An alternative is to use functions in the sp package: library(sp) fri2 <- SpatialPoints(fri$coords) fri2_SP <- SpatialPixels(fri2) fri2_SPl <- as.SpatialPolygons.SpatialPixels(fri2_SP) fri2_SPl_df <- SpatialPolygonsDataFrame(fri2_SPl, data.frame(data=fri$data, units.m=fri$units.m, row.names=IDvaluesSpatialPixels(fri2_SP))) opar <- par(mfrow=c(1,2)) plot(fri2_SPl_df, axes=TRUE) text(coordinates(fri2_SPl_df), label=format(fri2_SPl_df$data), cex=0.6) title(xlab="Easting (km)", ylab="Northing (km)", main="Success") plot(fri2_SPl_df, axes=TRUE) text(coordinates(fri2_SPl_df), label=format(fri2_SPl_df$units.m), cex=0.6) title(xlab="Easting (km)", ylab="Northing (km)", main="Trials") par(opar) which captures most of the polygon drawing for you. It has to go from points to pixels to polygons to induce the regular shapes. Roger > > The 'grid' packages is the basis of the lattice graphics functionality. > It has nothing do to (directly) with drawing grid patterns on plots. > > HTH, > > Marc Schwartz > > ______________________________________________ > [email protected] mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html > -- Roger Bivand Economic Geography Section, Department of Economics, Norwegian School of Economics and Business Administration, Helleveien 30, N-5045 Bergen, Norway. voice: +47 55 95 93 55; fax +47 55 95 95 43 e-mail: [EMAIL PROTECTED] ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
