polygon                 package:base                 R Documentation

_P_o_l_y_g_o_n _D_r_a_w_i_n_g

_D_e_s_c_r_i_p_t_i_o_n:

     `polygon' draws the polygons whose vertices are given in `x' and
     `y'.

_U_s_a_g_e:

     polygon(x, y = NULL, col = NA, border = NULL,
             lty = NULL, xpd = NULL, density = -1, angle = 45, ...)

_A_r_g_u_m_e_n_t_s:

     x,y: vectors containing the coordinates of the vertices of the
          polygon.

     col: the color for filling the polygon. The default, `NA', is to
          leave polygons unfilled.

  border: the color to draw the border.  The default, `NULL', uses
          `par("fg")'.  Use `border=0' to omit borders.

     lty: the line type to be used, as in `par'.

     xpd: (where) should clipping take place?  Defaults to
          `par("xpd")'.

 density: density of fill pattern. NOT YET implemented.

   angle: angle of fill pattern. NOT YET implemented.

     ...: graphical parameters can be given as arguments to `polygon'.

_D_e_t_a_i_l_s:

     The coordinates can be passed in a plotting structure (a list with
     `x' and `y' components), a two-column matrix, ....  See
     `xy.coords'.

     It is assumed that the polygon is closed by joining the last point
     to the first point.

     The coordinates can contain missing values.  The behaviour is
     similar to that of `lines', except that instead of breaking a line
     into several lines, `NA' values break the polygon into several
     complete polygons (including closing the last point to the first
     point).  See the examples below.

     When multiple polygons are produced, the values of `col',
     `border', and `lty' are recycled in the usual manner.

_S_e_e _A_l_s_o:

     `segments' for even more flexibility, `lines', `rect', `box',
     `abline'.

_E_x_a_m_p_l_e_s:

     x <- c(1:9,8:1)
     y <- c(1,2*(5:3),2,-1,17,9,8,2:9)
     op <- par(mfcol=c(3,1))
     for(xpd in c(FALSE,TRUE,NA)) {
       plot(1:10, main=paste("xpd =", xpd)) ; box("figure", col = "pink", lwd=3)
       polygon(x,y, xpd=xpd, col = "orange", lty=2, lwd=2, border = "red")
     }
     par(op)

     n <- 100
     xx <- c(0:n, n:0)
     yy <- c(c(0,cumsum(rnorm(n))), rev(c(0,cumsum(rnorm(n)))))
     plot   (xx, yy, type="n", xlab="Time", ylab="Distance")
     polygon(xx, yy, col="gray", border = "red")
     title("Distance Between Brownian Motions")

     # Multiple polygons from NA values
     # and recycling of col, border, and lty
     op <- par(mfrow=c(2,1))
     plot(c(1,9), 1:2, type="n")
     polygon(1:9, c(2,1,2,1,1,2,1,2,1),
             col=c("red", "blue"),
             border=c("green", "yellow"),
             lwd=3, lty=c("dashed", "solid"))
     plot(c(1,9), 1:2, type="n")
     polygon(1:9, c(2,1,2,1,NA,2,1,2,1),
             col=c("red", "blue"),
             border=c("green", "yellow"),
             lwd=3, lty=c("dashed", "solid"))
     par(op)

