R: Create an Area Plot

PlotArea {DescTools} | R Documentation

## Create an Area Plot

### Description

Produce a stacked area plot, or add polygons to an existing plot.

### Usage

    ## Default S3 method:
    PlotArea(x, y = NULL, prop = FALSE, add = FALSE, xlab = NULL,
             ylab = NULL, col = NULL, frame.plot = FALSE, ...)

    ## S3 method for class 'formula'
    PlotArea(formula, data, subset, na.action, ...)

### Arguments

`x` | numeric vector of x values, or if `y=NULL` a numeric vector of y values. Can also be a 1-dimensional table (x values in names, y values in array), matrix or 2-dimensional table (x values in row names and y values in columns), a data frame (x values in first column and y values in subsequent columns), or a time-series object of class `ts/mts`.
`y` | numeric vector of y values, or a matrix containing y values in columns.
`prop` | whether data should be plotted as proportions, so stacked areas equal 1.
`add` | whether polygons should be added to an existing plot.
`xlab` | label for x axis.
`ylab` | label for y axis.
`col` | fill color of polygon(s). The default is a vector of gray colors.
`frame.plot` | a logical indicating whether a box should be drawn around the plot.
`formula` | a `formula`, such as `y ~ x` or `cbind(y1, y2) ~ x`, specifying x and y values. A dot on the left-hand side, `formula = . ~ x`, means all variables except the one specified on the right-hand side.
`data` | a data frame (or list) from which the variables in `formula` should be taken.
`subset` | an optional vector specifying a subset of observations to be used.
`na.action` | a function which indicates what should happen when the data contain `NA` values. Defaults to `getOption("na.action")`.
`...` | further arguments are passed to `matplot` and `polygon`.

### Value

Matrix of cumulative sums that was used for plotting.

### Author(s)

Arni Magnusson <arnima@hafro.is>

### References

http://r.789695.n4.nabble.com/areaplot-td2255121.html

### See Also

`barplot`, `polygon`

### Examples

    # PlotArea with stapled areas
    tab <- table( d.pizza$date, d.pizza$driver )
    PlotArea(x=as.Date(rownames(tab)), y=tab, xaxt="n", xlab="Date", ylab="Pizzas delivered" )

    # add x-axis and some text labels
    xrng <- pretty(range(as.Date(rownames(tab))))
    axis(side=1, at=xrng, labels=xrng)
    text( x=min(d.pizza$date + .5, na.rm=TRUE), y=cumsum(tab[2,])-2.5, label=levels(d.pizza$driver),
      adj=c(0,0.5), col=TextContrastColor(gray.colors(7)))

    # formula
    PlotArea(Armed.Forces~Year, data=longley)
    PlotArea(cbind(Armed.Forces,Unemployed)~Year, data=longley)

    # add=TRUE
    plot(1940:1970, 500*runif(31), ylim=c(0,500))
    PlotArea(Armed.Forces~Year, data=longley, add=TRUE)

    # matrix
    PlotArea(WorldPhones)
    PlotArea(WorldPhones, prop=TRUE, col=rainbow(10))

    # table
    PlotArea(table(d.pizza$weekday))
    PlotArea(table(d.pizza$weekday, d.pizza$driver))

    # ts/mts
    PlotArea(austres)
    PlotArea(Seatbelts[,c("drivers","front","rear")],
             ylab="Killed or seriously injured")
    abline(v=1983+1/12, lty=3)

[Package DescTools version 0.99.35 Index]