rect {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 = 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 |
angle |
angle (in degrees) of the shading lines. |
col |
color(s) to fill or shade the rectangle(s) with.
The default |
border |
color for rectangle border(s). Can also be |
lty |
line type for borders and shading; defaults to |
lwd |
line width for borders and shading. |
xpd |
logical (“expand”); defaults to
|
... |
other graphical parameters 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.
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.
par
for how to specify colors.
Examples
## 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)