蜜蜂圖(beeswarm plot)是一種與“抖動圖”相似的散點圖,這種圖可以直觀地展現每一個樣本的具體情況及整體的情況。
安裝、加載R包
#安裝包
install.packages("beeswarm")
#加載包
library(beeswarm)
數據
set.seed(12)
df<-data.frame(
x=rnorm(1000),
group1=sample(c("G1", "G2", "G3"),
size = 100, replace = TRUE),
group2=as.numeric(factor(sample(c("Yes", "No"),
size = 100, replace = TRUE))))
head(df)#預覽數據
image.png
繪圖
1、基礎繪圖
beeswarm(df$x~df$group1)
image.png
2、個性化繪制
beeswarm(df$x~df$group1,#指定數據
pch=19,#指定點的形狀
col=c("#3FA0FF", "#FFE099", "#F76D5E"),#指定顏色
method = "swarm",#指定數據點排列方式,可選擇"swarm"、"center"、"hex"、"square"
corral = "gutter",#調整數據點以防止組數據重疊,可選擇有"none"、"gutter"、"wrap"、"random"、"omit"
side=0,#位置蜂群顯示方向,有-1,0,1可選擇
priority = "descending"#布局順序,可選擇"descending"、"random"、"density"、"none"
)
image.png
3、加入子群體
beeswarm(df$x~df$group1,#指定數據
pch=19,#點的形狀
pwcol=df$group2,#指定子群體
method = "swarm",#指定數據點排列方式,可選擇"swarm"、"center"、"hex"、"square"
corral = "gutter",#調整數據點以防止組數據重疊,可選擇有"none"、"gutter"、"wrap"、"random"、"omit"
side=0,#位置蜂群顯示方向,有-1,0,1可選擇
priority = "descending"#布局順序,可選擇"descending"、"random"、"density"、"none"
)
#圖例
legend("topright", legend = c("Yes", "No"),
col = 1:2, pch = 19)
image.png