boxplot
位於 graphics
包(package)。 說明
生成給定(分組)值的 box-and-whisker 圖。
用法
boxplot(x, ...)
## S3 method for class 'formula'
boxplot(formula, data = NULL, ..., subset, na.action = NULL,
xlab = mklab(y_var = horizontal),
ylab = mklab(y_var =!horizontal),
add = FALSE, ann = !add, horizontal = FALSE,
drop = FALSE, sep = ".", lex.order = FALSE)
## Default S3 method:
boxplot(x, ..., range = 1.5, width = NULL, varwidth = FALSE,
notch = FALSE, outline = TRUE, names, plot = TRUE,
border = par("fg"), col = "lightgray", log = "",
pars = list(boxwex = 0.8, staplewex = 0.5, outwex = 0.5),
ann = !add, horizontal = FALSE, add = FALSE, at = NULL)
參數
formula |
公式,例如 |
data |
data.frame(或列表),應從中獲取 |
subset |
一個可選向量,指定用於繪圖的觀測值子集。 |
na.action |
一個函數,指示當數據包含 |
xlab, ylab |
x 軸和 y 軸注釋,因為R3.6.0 具有非空默認值。可以通過抑製 |
ann |
|
drop, sep, lex.order |
傳遞到 |
x |
用於指定要生成箱線圖的數據。數字向量或包含此類向量的單個列表。其他未命名參數將更多數據指定為單獨的向量(每個向量對應於一個分量箱線圖)。數據中允許使用 |
... |
對於 對於默認方法,未命名參數是附加數據向量(除非 |
range |
這決定了圖須從盒子中延伸出多遠。如果 |
width |
給出構成繪圖的框的相對寬度的向量。 |
varwidth |
如果 |
notch |
如果 |
outline |
如果 |
names |
將在每個箱線圖下打印的組標簽。可以是字符向量或 expression (請參閱 plotmath )。 |
boxwex |
應用於所有框的比例因子。當隻有幾個組時,可以通過使框變窄來改善繪圖的外觀。 |
staplewex |
訂書釘線寬度擴展,與框寬度成正比。 |
outwex |
離群線寬度擴展,與框寬度成正比。 |
plot |
如果 |
border |
箱線圖輪廓的可選顏色向量。如果 |
col |
如果 |
log |
指示 x 或 y 或兩個坐標是否應以對數刻度繪製的字符。 |
pars |
(可能有很多)更多圖形參數的列表,例如 |
horizontal |
邏輯表明箱線圖是否應該是水平的;默認 |
add |
邏輯,如果 true 將箱線圖添加到當前繪圖。 |
at |
給出應繪製箱線圖的位置的數值向量,特別是當 |
細節
通用函數 boxplot
目前有一個默認方法 ( boxplot.default
) 和一個公式接口 ( boxplot.formula
)。
如果多個組作為多個參數或通過公式提供,則將按照參數的順序或因子水平的順序繪製平行箱線圖(請參閱 factor
)。
形成箱線圖時將忽略缺失值。
值
包含以下組件的列表:
stats |
一個矩陣,每列包含一組/圖的下須線的極值、下鉸鏈、中值、上鉸鏈和上須線的極值。如果所有輸入都具有相同的類屬性,則該組件也將具有相同的類屬性。 |
n |
一個向量,其中包含每組中的(非 |
conf |
一個矩陣,其中每列包含凹口的下限和上限。 |
out |
超出晶須極限的任何數據點的值。 |
group |
與 |
names |
組名稱的向量。 |
例子
## boxplot on a formula:
boxplot(count ~ spray, data = InsectSprays, col = "lightgray")
# *add* notches (somewhat funny here <--> warning "notches .. outside hinges"):
boxplot(count ~ spray, data = InsectSprays,
notch = TRUE, add = TRUE, col = "blue")
boxplot(decrease ~ treatment, data = OrchardSprays, col = "bisque",
log = "y")
## horizontal=TRUE, switching y <--> x :
boxplot(decrease ~ treatment, data = OrchardSprays, col = "bisque",
log = "x", horizontal=TRUE)
rb <- boxplot(decrease ~ treatment, data = OrchardSprays, col = "bisque")
title("Comparing boxplot()s and non-robust mean +/- SD")
mn.t <- tapply(OrchardSprays$decrease, OrchardSprays$treatment, mean)
sd.t <- tapply(OrchardSprays$decrease, OrchardSprays$treatment, sd)
xi <- 0.3 + seq(rb$n)
points(xi, mn.t, col = "orange", pch = 18)
arrows(xi, mn.t - sd.t, xi, mn.t + sd.t,
code = 3, col = "pink", angle = 75, length = .1)
## boxplot on a matrix:
mat <- cbind(Uni05 = (1:100)/21, Norm = rnorm(100),
`5T` = rt(100, df = 5), Gam2 = rgamma(100, shape = 2))
boxplot(mat) # directly, calling boxplot.matrix()
## boxplot on a data frame:
df. <- as.data.frame(mat)
par(las = 1) # all axis labels horizontal
boxplot(df., main = "boxplot(*, horizontal = TRUE)", horizontal = TRUE)
## Using 'at = ' and adding boxplots -- example idea by Roger Bivand :
boxplot(len ~ dose, data = ToothGrowth,
boxwex = 0.25, at = 1:3 - 0.2,
subset = supp == "VC", col = "yellow",
main = "Guinea Pigs' Tooth Growth",
xlab = "Vitamin C dose mg",
ylab = "tooth length",
xlim = c(0.5, 3.5), ylim = c(0, 35), yaxs = "i")
boxplot(len ~ dose, data = ToothGrowth, add = TRUE,
boxwex = 0.25, at = 1:3 + 0.2,
subset = supp == "OJ", col = "orange")
legend(2, 9, c("Ascorbic acid", "Orange juice"),
fill = c("yellow", "orange"))
## With less effort (slightly different) using factor *interaction*:
boxplot(len ~ dose:supp, data = ToothGrowth,
boxwex = 0.5, col = c("orange", "yellow"),
main = "Guinea Pigs' Tooth Growth",
xlab = "Vitamin C dose mg", ylab = "tooth length",
sep = ":", lex.order = TRUE, ylim = c(0, 35), yaxs = "i")
## more examples in help(bxp)
參考
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988). The New S Language. Wadsworth & Brooks/Cole.
Chambers, J. M., Cleveland, W. S., Kleiner, B. and Tukey, P. A. (1983). Graphical Methods for Data Analysis. Wadsworth & Brooks/Cole.
Murrell, P. (2005). R Graphics. Chapman & Hall/CRC Press.
See also boxplot.stats
.
也可以看看
boxplot.stats
用於計算,bxp
用於繪圖和更多示例;和 stripchart
作為替代方案(使用小數據集)。
相關用法
- R boxplot.matrix 為矩陣的每列(行)繪製箱線圖
- R box 在地塊周圍畫一個方框
- R barplot 條形圖
- R bxp 從摘要中繪製箱線圖
- 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大神的英文原創作品 Box Plots。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。