Learn R Programming

RcmdrMisc (version 2.9-1)

Barplot: Bar Plots

Description

Create bar plots for one or two factors scaled by frequency or precentages. In the case of two factors, the bars can be divided (stacked) or plotted in parallel (side-by-side). This function is a front end to barplot in the graphics package.

Usage

Barplot(x, by, scale = c("frequency", "percent"), conditional=TRUE,
  style = c("divided", "parallel"), 
  col=if (missing(by)) "gray" else rainbow_hcl(length(levels(by))),
  xlab = deparse(substitute(x)), legend.title = deparse(substitute(by)), 
  ylab = scale, main=NULL, legend.pos = "above", label.bars=FALSE, ...)

Value

Invisibly returns the horizontal coordinates of the centers of the bars.

Arguments

x

a factor (or character or logical variable).

by

optionally, a second factor (or character or logical variable).

scale

either "frequency" (the default) or "percent".

conditional

if TRUE then percentages are computed separately for each value of x (i.e., conditional percentages of by within levels of x); if FALSE then total percentages are graphed; ignored if scale="frequency".

style

for two-factor plots, either "divided" (the default) or "parallel".

col

if by is missing, the color for the bars, defaulting to "gray"; otherwise colors for the levels of the by factor in two-factor plots, defaulting to colors provided by rainbow_hcl in the colorspace package.

xlab

an optional character string providing a label for the horizontal axis.

legend.title

an optional character string providing a title for the legend.

ylab

an optional character string providing a label for the vertical axis.

main

an optional main title for the plot.

legend.pos

position of the legend, in a form acceptable to the legend function; the default, "above", puts the legend above the plot.

label.bars

if TRUE (the default is FALSE) show values of frequencies or percents in the bars.

...

arguments to be passed to the barplot function.

Author

John Fox jfox@mcmaster.ca

See Also

barplot, legend, rainbow_hcl

Examples

Run this code
with(Mroz, {
  Barplot(wc)
  Barplot(wc, col="lightblue", label.bars=TRUE)
  Barplot(wc, by=hc)
  Barplot(wc, by=hc, scale="percent", label.bars=TRUE)
  Barplot(wc, by=hc, style="parallel", 
    scale="percent", legend.pos="center")
})

Run the code above in your browser using DataLab