rect                package:graphics                R Documentation

Draw One or More Rectangles

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 = NA, border = NULL, lty = par("lty"), lwd = par("lwd"),
          ...)

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. A zero
          value of 'density' means no shading lines whereas negative
          values (and 'NA') suppress shading (and so allow color
          filling).

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

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

  border: color for rectangle border(s).  The default means
          'par("fg")'.  Use 'border = NA' to omit borders. If there are
          shading lines, 'border = TRUE' means use the same colour for
          the border as for the shading lines.

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

     lwd: line width for borders and shading.

     ...: graphical parameters such as 'xpd', 'lend', 'ljoin' and
          'lmitre' can be given as arguments.

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.  The position vectors will be recycled to the length of the
     longest.

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

See Also:

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

     'par' for how to specify colors.

Examples:

     require(grDevices)
     ## set up the plot region:
     op <- par(bg = "thistle")
     plot(c(100, 250), c(300, 450), type = "n", xlab="", ylab="",
          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\"))")

     ## an example showing colouring and shading
     plot(c(100, 200), c(300, 450), type= "n", xlab="", ylab="")
     rect(100, 300, 125, 350) # transparent
     rect(100, 400, 125, 450, col="green", border="blue") # coloured
     rect(115, 375, 150, 425, col=par("bg"), border="transparent")
     rect(150, 300, 175, 350, density=10, border="red")
     rect(150, 400, 175, 450, density=30, col="blue",
          angle=-30, border="transparent")

     legend(180, 450, legend=1:4, fill=c(NA, "green", par("fg"), "blue"),
            density=c(NA, NA, 10, 30), angle=c(NA, NA, 30, -30))

     par(op)

