1. 基础绘图
> bb <- data.frame(name=c(rep("A",3),c("C","D","A","B"),rep("B",3),rep("D",2),rep("C",4)),number=rnorm(16,7,5))
> bb
name number
1 A 7.020182
2 A -2.231451
3 A 7.086151
4 C 1.693336
5 D 4.774622
6 A 7.416371
7 B 3.836739
8 B -2.570890
9 B 8.693099
10 B 11.305471
11 D 2.402723
12 D 13.907120
13 C 8.573936
14 C 4.090615
15 C 3.553186
16 C 5.895689
> ggplot(bb, aes(name,number,fill=name))+geom_boxplot() '#结果为图一;根据name进行填充
> ggplot(bb, aes(name,number,color=name))+geom_boxplot() #结果为图二;根据name分颜色,只是外框颜色,不进行填充
> ggplot(bb, aes(name,number,color=name))+geom_boxplot()+geom_jitter() #结果为图三;在画图时将所有数据点也画在图中
> ggplot()+geom_boxplot(data=bb, aes(name, number, color=name))
图一.png
图二.png
图三.png
2. 离群值
ggplot()+geom_boxplot(data=, aes(x=, y=), outlier.size=, outlier.shape=)
outlier.size=
: 修改离群值显示形状的大小
outlier.shape=
: 修改离群值的形状;NA
为不显示离群值;1
为空心圆;4
为叉号
3. 绘制带有凹槽的箱线图
ggplot()+geom_boxplot(data=, aes(x=, y=), notch=T, notchwidth=0.8, varwidth=T)
notch=
:T
表示绘制带有凹槽的箱线图
notchwidth=
: 控制凹槽处的宽度
varwidth=
:T
表示箱线图宽度与数据数量成正比
图片.png
4. 调节一组内各个box
之间的距离
参数:
position = position_dodge()
ggplot()+geom_boxplot(data = pp,aes(cell_type,mean, fill=gene_type),outlier.shape = NA)+scale_x_discrete(limits=as.factor(cell_type))+ theme_cowplot()+theme(axis.text.x = element_text(angle=-90))+NoLegend() '#示例一
ggplot()+geom_boxplot(data = pp,aes(cell_type,mean, fill=gene_type),outlier.shape = NA, position = position_dodge(1))+scale_x_discrete(limits=as.factor(cell_type))+theme_cowplot()+theme(axis.text.x = element_text(angle=-90))+NoLegend() #示例二
示例一
示例二
5. 添加 Error bar
https://zhuanlan.zhihu.com/p/422407418
关键函数:
stat_boxplot()
ggplot(data=expressed_used, aes(x=Tissue, y=RPKM_mean, fill=Gene_age))+stat_boxplot(geom = "errorbar", width=0.3, position=position_dodge(0.8))+geom_boxplot(position=position_dodge(0.8))
Error bar注意:
geom_boxplot()
放在stat_boxplot()
后面,则Error bar
其中的线会被隐藏在后面
geom_boxplot()
和stat_boxplot()
中的position=position_dodge()
参数的值要保持一致
网友评论