本文总结一下ggplot2包绘制各种类型的图,本文包括:小提琴图、箱线图、抖动散点图。
1. 小提琴图
1 2 3 4 5
| df1 <- data.frame(num=rnorm(500,mean = 50), group=rep(c("group1"),500)) df2 <- data.frame(num=rnorm(500,mean = 52), group=rep(c("group2"),500)) df <- rbind(df1,df2)
|
1 2
| ggplot(df,aes(x=group,y=num))+ geom_violin()
|
2. 箱线图
箱线图通过四分位数描述数据分布,从上到下依次是最大值、上四分位数、中位数、下四分位数、最小值。
其中,盒子中间的线表示中位数,盒子的上下边缘表示数据的上下四分位数,盒子上下的线段称为“须”,表示数据的范围。在盒须图中,小圆点表示离群值。
盒须图中的最小值不一定是数据的最小值,因为盒须图是基于数据的分位数绘制的。盒子的下边缘是数据的第一四分位数(即将数据从小到大排列后,第25%位置的数),而须的下端通常是数据中最小的非离群值,也就是大于等于下边缘1.5倍四分位距的最小值。
1 2
| ggplot(df,aes(x=group,y=num))+ geom_boxplot()
|
有缺口的箱线图
1 2
| ggplot(df,aes(x=group,y=num))+ geom_boxplot(notch = TRUE)
|
3. 抖动散点图
1 2
| ggplot(df,aes(x=group,y=num))+ geom_jitter()
|

4. 组合图
4.1 小提琴图和箱线图组合
1 2 3 4
| ggplot(df,aes(x=group,y=num))+ geom_violin()+ geom_boxplot(width=0.1,position = position_identity())+ stat_summary(fun.y="mean",geom="point",shape=23,fill="red",size=2)
|
4.2 和抖动散点图组合
1 2 3
| ggplot(df,aes(x=group,y=num))+ geom_violin()+ geom_jitter(color = "grey")
|
1 2 3
| ggplot(df,aes(x=group,y=num))+ geom_boxplot()+ geom_jitter(color = "grey")
|
