rect                package:graphics                R Documentation

_D_r_a_w _O_n_e _o_r _M_o_r_e _R_e_c_t_a_n_g_l_e_s

_D_e_s_c_r_i_p_t_i_o_n:

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

_U_s_a_g_e:

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

_A_r_g_u_m_e_n_t_s:

   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.

          Can also be 'FALSE' to suppress the border, or 'TRUE' in
          which case 'col' is used.

     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.

_D_e_t_a_i_l_s:

     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.

_S_e_e _A_l_s_o:

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

     'par' for how to specify colors.

_E_x_a_m_p_l_e_s:

     ## 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)

