grid.polygon              package:grid              R Documentation

Draw a Polygon

Description:

     These functions create and draw a polygon. The final point will
     automatically be connected to the initial point.

Usage:

     grid.polygon(x=c(0, 0.5, 1, 0.5), y=c(0.5, 1, 0.5, 0),
                  id=NULL, id.lengths=NULL,
                  default.units="npc", name=NULL,
                  gp=gpar(), draw=TRUE, vp=NULL)
     polygonGrob(x=c(0, 0.5, 1, 0.5), y=c(0.5, 1, 0.5, 0),
                  id=NULL, id.lengths=NULL,
                  default.units="npc", name=NULL,
                  gp=gpar(), vp=NULL)

Arguments:

       x: A numeric vector or unit object specifying x-locations.

       y: A numeric vector or unit object specifying y-locations.

      id: A numeric vector used to separate locations in 'x' and 'y'
          into multiple polygons.  All locations with the same 'id'
          belong to the same polygon.

id.lengths: A numeric vector used to separate locations in 'x' and 'y'
          into multiple polygons.  Specifies consecutive blocks of
          locations which make up separate polygons.

default.units: A string indicating the default units to use if 'x',
          'y', 'width', or 'height' are only given as numeric vectors.

    name: A character identifier. 

      gp: An object of class 'gpar', typically the output from a call
          to the function 'gpar'.  This is basically a list of
          graphical parameter settings.

    draw: A logical value indicating whether graphics output should be
          produced.

      vp: A Grid viewport object (or NULL).

Details:

     Both functions create a polygon grob (a graphical object
     describing a polygon), but only 'grid.polygon' draws the polygon
     (and then only if 'draw' is 'TRUE').

Value:

     A grob object.

Author(s):

     Paul Murrell

See Also:

     Grid, 'viewport'

Examples:

     grid.polygon()
     # Using id (NOTE: locations are not in consecutive blocks)
     grid.newpage()
     grid.polygon(x=c((0:4)/10, rep(.5, 5), (10:6)/10, rep(.5, 5)),
                  y=c(rep(.5, 5), (10:6/10), rep(.5, 5), (0:4)/10),
                  id=rep(1:5, 4),
                  gp=gpar(fill=1:5))
     # Using id.lengths
     grid.newpage()
     grid.polygon(x=outer(c(0, .5, 1, .5), 5:1/5),
                  y=outer(c(.5, 1, .5, 0), 5:1/5),
                  id.lengths=rep(4, 5),
                  gp=gpar(fill=1:5))

