boxplot 用于繪制箱線圖,我們都知道boxplot 用于展示一組數(shù)據(jù)的總體分布咪啡,在R語言中莺琳,支持兩種輸入數(shù)據(jù)的方式
第一種:x , 這個參數(shù)指定用于繪制箱線圖所用的數(shù)據(jù)掺出,是一個向量
代碼示例:
boxplot(1:100)
效果圖如下:
第二種徽千, 通多formala 和 data 兩個參數(shù)指定,適合展示多組數(shù)據(jù)的分布
代碼示例:
dataset <- data.frame(value = rep(1:100, times = 2), group = factor(rep(c("A", "B"), each = 100)))
boxplot( value ~ group, dataset)
效果圖如下:
下面詳細解釋幾個常用的參數(shù):
1)widh : 控制箱體的寬度汤锨,當圖中有多個箱子時才會發(fā)揮作用双抽,其值為長度和箱體個數(shù)相同的向量,指定了不同箱體的相對寬度
代碼示例:
dataset <- data.frame(value = rep(1:100, times = 2), group = factor(rep(c("A", "B"), each = 100)))
boxplot( value ~ group, dataset, width = c(1, 2))
效果圖如下:
從圖中可以看出闲礼,第二個箱子的寬度是第一個箱子的兩倍
2) varwidth : 邏輯值牍汹,控制箱體的寬度, 只有圖中有多個箱體時才發(fā)揮作用柬泽,默認為FALSE慎菲, 所有箱體的寬度相同,當其值為TRUE時锨并,代表每個箱體的樣本量作為其相對寬度
代碼示例:
dataset <- data.frame(value = rep(1:100, times = 2), group = factor(rep(c("A", "B"), times = c(160, 40))))
boxplot( value ~ group, dataset, varwidth = T)
效果圖如下:
從圖中可以看出露该,兩個箱體的寬度不同,因為兩組數(shù)據(jù)的樣本量不同第煮;
3)notch : 邏輯值,?
代碼示例:
par(mfrow = c(1, 2))
boxplot(1:100, notch = T, main = "notch = T")
boxplot(1:100, notch = F, main = "notch = F")
效果圖如下:
4)col : 箱體的填充色
代碼示例:
dataset <- data.frame(value = rep(1:100, times = 2), group = factor(rep(c("A", "B"), times = c(160, 40))))
boxplot( value ~ group, dataset, col = c("green", "red"))
效果圖如下:
5) border : 箱體中線條的顏色解幼,默認為黑色
代碼示例:
dataset <- data.frame(value = rep(1:100, times = 2), group = factor(rep(c("A", "B"), times = c(160, 40))))
boxplot( value ~ group, dataset,? border = c("red", "green"))
效果圖如下:
6)names: 每個箱體下面的標簽
代碼示例:
dataset <- data.frame(value = rep(1:100, times = 2), group = factor(rep(c("A", "B"), times = c(160, 40))))
boxplot( value ~ group, dataset,? names = c("red", "green"))
效果圖如下:
下面我們討論下,箱線圖中箱體的位置是如何決定的包警?
默認情況下每個箱體的中心點和箱體的位置是一定的撵摆,比如第二個箱體對應的中心點的x坐標就是2
默認情況下每個箱體的寬度是多少呢?
當圖中只有一個箱體時揽趾,看下面代碼的運行結(jié)果:
boxplot(1:100)
abline(v = 0.8, lty = 2)
abline(v = 1.2, lty = 2)
axis(side = 1)
結(jié)果如下:
從圖中可以看出台汇,因為只有一個箱體苛骨,所以中心點為1篱瞎, 兩邊的寬度各位0.2苟呐, 所以左邊的x軸坐標是0.8, 右邊的x軸坐標為1.2
當圖中有多個箱體時俐筋,看下面代碼的運行結(jié)果:
dataset <- data.frame(value = rep(1:100, times = 2), group = factor(rep(c("A", "B"), times = c(100, 100))))
boxplot( value ~ group, dataset)
abline(v = 0.6, lty = 2)
abline(v = 1.4, lty = 2)
abline(v = 1.6, lty = 2)
abline(v = 2.4, lty = 2)
結(jié)果如下:
從圖中我們可以發(fā)現(xiàn)牵素,每個箱體的寬度為0.8