barplot
位於 graphics
包(package)。 說明
創建帶有垂直或水平條形的條形圖。
用法
barplot(height, ...)
## Default S3 method:
barplot(height, width = 1, space = NULL,
names.arg = NULL, legend.text = NULL, beside = FALSE,
horiz = FALSE, density = NULL, angle = 45,
col = NULL, border = par("fg"),
main = NULL, sub = NULL, xlab = NULL, ylab = NULL,
xlim = NULL, ylim = NULL, xpd = TRUE, log = "",
axes = TRUE, axisnames = TRUE,
cex.axis = par("cex.axis"), cex.names = par("cex.axis"),
inside = TRUE, plot = TRUE, axis.lty = 0, offset = 0,
add = FALSE, ann = !add && par("ann"), args.legend = NULL,
order = c("none", "incr", "decr"),
...)
## S3 method for class 'formula'
barplot(formula, data, subset, na.action,
horiz = FALSE, xlab = NULL, ylab = NULL, ...)
參數
height |
說明構成繪圖的條形的向量或值矩陣。如果 |
width |
條形寬度的可選向量。重新循環到繪製的條數的長度。除非指定 |
space |
每個條形之前留下的空間量(作為平均條形寬度的一部分)。可以以單個數字或每條一個數字的形式給出。如果 |
names.arg |
要繪製在每個條形或一組條形下方的名稱向量。如果省略此參數,則名稱取自 |
legend.text |
用於構建圖例的文本向量,或指示是否應包含圖例的邏輯。僅當 |
beside |
一個邏輯值。如果 |
horiz |
一個邏輯值。如果是 |
density |
給出條形或條形組件的陰影線密度(以每英寸行數為單位)的向量。 |
angle |
條形或條形組件的陰影線的斜率,以度數形式給出(逆時針)。 |
col |
條形或條形組件的顏色向量。默認情況下,如果 |
border |
用於條形邊框的顏色。使用 |
main,sub |
情節的主標題和副標題。 |
xlab |
x 軸的標簽。 |
ylab |
y 軸的標簽。 |
xlim |
x 軸的限製。 |
ylim |
y 軸的限製。 |
xpd |
合乎邏輯的。是否應該允許酒吧走出地區? |
log |
指定軸刻度是否應為對數的字符串;請參閱 |
axes |
合乎邏輯的。如果 |
axisnames |
合乎邏輯的。如果 |
cex.axis |
數字軸標簽的擴展因子(請參閱 |
cex.names |
軸名稱(條形標簽)的擴展因子。 |
inside |
合乎邏輯的。如果是 |
plot |
合乎邏輯的。如果 |
axis.lty |
圖形參數 |
offset |
一個向量,指示條形相對於 x 軸應移動多少。 |
add |
邏輯指定是否應將條形圖添加到已存在的圖中;默認為 |
ann |
邏輯指定默認注釋( |
args.legend |
要傳遞給 |
formula |
一個公式,其中 y ~ x y ~ x1 + x2 cbind(y1, y2) ~ x (參見示例)。 |
data |
應從中獲取公式中變量的 DataFrame (或列表)。 |
subset |
一個可選向量,指定要使用的觀測子集。 |
na.action |
一個函數,指示當數據包含 |
... |
要傳遞給其他方法或從其他方法傳遞的參數。對於默認方法,這些可以包括傳遞給 |
值
一個數字向量(或矩陣,當 beside = TRUE
時),例如 mp
,給出繪製的所有條形中點的坐標,對於添加到圖形中很有用。
如果 beside
為 true,則使用 colMeans(mp)
作為每組柱的中點,請參閱示例。
例子
# Formula method
barplot(GNP ~ Year, data = longley)
barplot(cbind(Employed, Unemployed) ~ Year, data = longley)
## 3rd form of formula - 2 categories :
op <- par(mfrow = 2:1, mgp = c(3,1,0)/2, mar = .1+c(3,3:1))
summary(d.Titanic <- as.data.frame(Titanic))
barplot(Freq ~ Class + Survived, data = d.Titanic,
subset = Age == "Adult" & Sex == "Male",
main = "barplot(Freq ~ Class + Survived, *)", ylab = "# {passengers}", legend.text = TRUE)
# Corresponding table :
(xt <- xtabs(Freq ~ Survived + Class + Sex, d.Titanic, subset = Age=="Adult"))
# Alternatively, a mosaic plot :
mosaicplot(xt[,,"Male"], main = "mosaicplot(Freq ~ Class + Survived, *)", color=TRUE)
par(op)
# Default method
require(grDevices) # for colours
tN <- table(Ni <- stats::rpois(100, lambda = 5))
r <- barplot(tN, col = rainbow(20))
#- 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)")
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.text = 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.text = 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.text = rownames(VADeaths))
title(main = list("Death Rates in Virginia", font = 4))
# Border color
barplot(VADeaths, border = "dark blue")
# Log scales (not much sense here)
barplot(tN, col = heat.colors(12), log = "y")
barplot(tN, col = gray.colors(20), log = "xy")
# Legend location
barplot(height = cbind(x = c(465, 91) / 465 * 100,
y = c(840, 200) / 840 * 100,
z = c(37, 17) / 37 * 100),
beside = FALSE,
width = c(465, 840, 37),
col = c(1, 2),
legend.text = c("A", "B"),
args.legend = list(x = "topleft"))
作者
R Core, with a contribution by Arni Magnusson.
參考
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
Murrell, P. (2005) R Graphics. Chapman & Hall/CRC Press.
也可以看看
plot(..., type = "h")
,dotchart
; hist
用於連續變量的柱。 mosaicplot()
,更複雜地可視化多個分類變量。
相關用法
- R box 在地塊周圍畫一個方框
- R bxp 從摘要中繪製箱線圖
- R boxplot.matrix 為矩陣的每列(行)繪製箱線圖
- R boxplot 箱線圖
- R legend 將圖例添加到繪圖中
- R plot.histogram 繪製直方圖
- R points 向繪圖添加點
- R stem 莖葉圖
- R mtext 將文本寫入繪圖的邊距
- R arrows 將箭頭添加到繪圖中
- R contour 顯示輪廓
- R pairs 散點圖矩陣
- R stars 星圖(蜘蛛圖/雷達圖)和線段圖
- R coplot 調節圖
- R smoothScatter 具有平滑密度顏色表示的散點圖
- R mosaicplot 馬賽克圖
- R plot.raster 繪製光柵圖像
- R axTicks 計算軸刻度線位置
- R curve 繪製函數圖
- R plot.factor 繪製因子變量
- R sunflowerplot 製作向日葵散點圖
- R plot.table 表對象的繪圖方法
- R units 圖形單位
- R identify 識別散點圖中的點
- R layout 指定複雜的繪圖安排
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Bar Plots。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。