grid.polygon {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))

[Package Contents]