## S3 method for class 'default':
barplot(height, width = 1, space = NULL,
names.arg = NULL, legend.text = NULL, beside = FALSE,
horiz = FALSE, density = NULL, angle = 45,
col = heat.colors(NR), border = par("fg"),
main = NULL, sub = NULL, xlab = NULL, ylab = NULL,
xlim = NULL, ylim = NULL, xpd = TRUE,
axes = TRUE, axisnames = TRUE,
cex.axis = par("cex.axis"), cex.names = par("cex.axis"),
inside = TRUE, plot = TRUE, shift = 0, ...)
height
is a vector, the
plot consists of a sequence of rectangular bars with heights
given by the values in the vector. If height
isxlim
is specified.height
is a matrix and
beside
is TRUE
, space
maynames
attribute of height
if this
is a vector, or the column names if it is a matrix.height
is a matrix.
In that case given legend labels should correspond to the rows ofFALSE
, the columns of
height
are portrayed as stacked bars, and if TRUE
the columns are portrayed as juxtaposed bars.FALSE
, the bars are drawn
vertically with the first bar to the left. If TRUE
, the
bars are drawn horizontally with the first at the bottom.NULL
means that no shading lines
are drawn. Non-positive values of density
also inhibit the
TRUE
, a vertical (or horizontal, if
horiz
is true) axis is drawn.TRUE
, and if there are
names.arg
(see above), the
other axis is drawn (with lty=0
) and labeled.TRUE
, the lines which divide
adjacent bars will be drawn.FALSE
, nothing is plotted.par
) are
passed to plot.window()
, title()
and
beside = TRUE
), say
mp
, giving the coordinates of all the bar midpoints
drawn, useful for adding to the graph. If beside
is true, use colMeans(mp)
for the
midpoints of each group of bars, see example.
plot(..., type="h")
, dotchart
,
hist
.tN <- table(Ni <- rpois(100, lambda=5))
r <- barplot(tN, col='gray')
#- type = "h" plotting *is* `bar'plot
lines(r, tN, type='h', col='red', lwd=2)
barplot(tN, space = 1.5, axisnames=FALSE,
sub = "barplot(..., space= 1.5, axisnames = FALSE)")
data(VADeaths, package = "base")
barplot(VADeaths, plot = FALSE)
barplot(VADeaths, plot = FALSE, beside = TRUE)
mp <- barplot(VADeaths) # default
tot <- colMeans(VADeaths)
text(mp, tot + 3, format(tot), xpd = TRUE, col = "blue")
barplot(VADeaths, beside = TRUE,
col = c("lightblue", "mistyrose", "lightcyan",
"lavender", "cornsilk"),
legend = rownames(VADeaths), ylim = c(0, 100))
title(main = "Death Rates in Virginia", font.main = 4)
hh <- t(VADeaths)[, 5:1]
mybarcol <- "gray20"
mp <- barplot(hh, beside = TRUE,
col = c("lightblue", "mistyrose",
"lightcyan", "lavender"),
legend = colnames(VADeaths), ylim= c(0,100),
main = "Death Rates in Virginia", font.main = 4,
sub = "Faked upper 2*sigma error bars", col.sub = mybarcol,
cex.names = 1.5)
segments(mp, hh, mp, hh + 2*sqrt(1000*hh/100), col = mybarcol, lwd = 1.5)
stopifnot(dim(mp) == dim(hh))# corresponding matrices
mtext(side = 1, at = colMeans(mp), line = -2,
text = paste("Mean", formatC(colMeans(hh))), col = "red")
# Bar shading example
barplot(VADeaths, angle = 15+10*1:5, density = 20, col = "black",
legend = rownames(VADeaths))
title(main = list("Death Rates in Virginia", font = 4))
Run the code above in your browser using DataLab