rect                  package:base                  R Documentation

Draw a Rectangle

Description:

     `rect' draws a rectangle (or sequence of rectangles) with the
     given coordinates, fill and border colors.

Usage:

     rect(xleft, ybottom, xright, ytop, density = NULL, angle = 45,
          col = NULL, border = NULL, lty = NULL, lwd = par("lwd"), xpd = NULL)

Arguments:

   xleft: a vector (or scalar) of left x positions.

 ybottom: a vector (or scalar) of bottom y positions.

  xright: a vector (or scalar) of right x positions.

    ytop: a vector (or scalar) of top y positions.

 density: the density of shading lines, in lines per inch. The default
          value of `NULL' means that no shading lines are drawn.
          Non-positive values of `density' also inhibit the drawing of
          shading lines.

   angle: angle (in degrees) of the shading lines.

     col: color(s) to fill or shade the rectangle(s) with. The default
          `NULL', or also `NA' do not fill, i.e., draw transparent
          rectangles.

  border: color for rectangle border(s).

     lty: line type for borders; defaults to `"solid"'.

     lwd: width for borders.

     xpd: logical (``expand''); defaults to `par("xpd")'.  See
          `par(xpd= )'.

Details:

     The positions supplied, i.e., `xleft, ...', are relative to the
     current plotting region.  If the x-axis goes from 100 to 200 then
     `xleft' must be larger than 100 and `xright' must be less than
     200.

     It is a primitive function used in `hist', `barplot', `legend',
     etc.

See Also:

     `box' for the ``standard'' box around the plot; `polygon' and
     `segments' for flexible line drawing.

Examples:

     ## set up the plot region:
     op <- par(bg = "thistle")
     plot(c(100, 250), c(300, 450), type = "n", xlab="",
          main = "2 x 11 rectangles; `rect(100+i,300+i,  150+i,380+i)'")
     i <- 4*(0:10)
     ## draw rectangles with bottom left (100, 300)+i and top right (150, 380)+i
     rect(100+i, 300+i, 150+i, 380+i, col=rainbow(11, start=.7,end=.1))
     rect(240-i, 320+i, 250-i, 410+i, col=heat.colors(11), lwd=i/5)
     ## Background alternating  ( transparent / "bg" ) :
     j <- 10*(0:5)
     rect(125+j, 360+j,   141+j, 405+j/2, col = c(NA,0), border = "gold", lwd = 2)
     rect(125+j, 296+j/2, 141+j, 331+j/5, col = c(NA,"midnightblue"))
     mtext("+  2 x 6 rect(*, col = c(NA,0)) and  col = c(NA,\"m..blue\"))")
     par(op)

