2020-06-29

R語言boxplot繪圖函數(shù)

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)

效果圖如下:

下面詳細(xì)解釋幾個常用的參數(shù):

1)widh : 控制箱體的寬度,當(dāng)圖中有多個箱子時才會發(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ā)揮作用,默認(rèn)為FALSE, 所有箱體的寬度相同,當(dāng)其值為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 : 箱體中線條的顏色,默認(rèn)為黑色

代碼示例:

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: 每個箱體下面的標(biāo)簽

代碼示例:

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"))

效果圖如下:


下面我們討論下,箱線圖中箱體的位置是如何決定的?

默認(rèn)情況下每個箱體的中心點和箱體的位置是一定的,比如第二個箱體對應(yīng)的中心點的x坐標(biāo)就是2

默認(rèn)情況下每個箱體的寬度是多少呢?

當(dāng)圖中只有一個箱體時,看下面代碼的運行結(jié)果:

boxplot(1:100)

abline(v = 0.8, lty = 2)

abline(v = 1.2, lty = 2)

axis(side = 1)

結(jié)果如下:

從圖中可以看出,因為只有一個箱體,所以中心點為1, 兩邊的寬度各位0.2, 所以左邊的x軸坐標(biāo)是0.8, 右邊的x軸坐標(biāo)為1.2

當(dāng)圖中有多個箱體時,看下面代碼的運行結(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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容