Re: [R] How to draw partial grid in plot for spatial-binomial experiment?

From: Marc Schwartz (via MN) <mschwartz_at_mn.rr.com>
Date: Tue 20 Dec 2005 - 02:47:09 EST

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.

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



R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Tue Dec 20 02:57:18 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:41:40 EST