sci三张图如何组合(今天师兄教你一个SCI常用的箱图绘制)
作者:本文作者Trigo Hoang,作者目前在香港攻读博士学位博士,硕士期间发表了多篇生信相关的SCI,公众号简书会记录作者学习生信期间的一些小笔记,希望能跟正在学习生信的同学们多交流多进步。
责编:白介素2
最近水群,有同学看文献中,遇见了一些常用的箱图,并对箱图上添加T检验标签很感兴趣。
tOlUZF.png
简介可以仔细看一下这图,很多学生信的作者喜欢用这种箱图加点图的方式来展示自己选择的差hub基因在肿瘤组织中和正常组织中表达量的差异。因此小编在这里尝试用一下ggplot去画一下此类图形,并标注t检验的p值。
代码示例以iris数据集为例
#先查看一下iris数据的结构
head(iris)
# Sepal.Length Sepal.Width Petal.Length Petal.Width Species
#1 5.1 3.5 1.4 0.2 setosa
#2 4.9 3.0 1.4 0.2 setosa
#3 4.7 3.2 1.3 0.2 setosa
#4 4.6 3.1 1.5 0.2 setosa
#5 5.0 3.6 1.4 0.2 setosa
#6 5.4 3.9 1.7 0.4 setosa
#最后一列Species是因子,table一下看看
table(iris$Species)
#setosa versicolor virginica
50 50 50
#选其中俩个(setosa,versicolor)进行画图
test=iris[1:100,]
这里用的是ggplot2进行画箱图
#test是加载数据,用Species里面的分类做x轴,先尝试用Sepal.Length的数据做Y轴,画箱图用geom_boxplot()
ggplot(test, aes(x=Species, y=Sepal.Length))
geom_boxplot()
一个简陋的箱图就出来了
tOlJMV.png
因为箱图的背景不好看,就尝试让箱图根据分类采用不同颜色,让图形更形象
#改变边框颜色
ggplot(test, aes(x=Species, y=Sepal.Length))
geom_boxplot(aes(color=Species))
tOl8x0.png
在箱体里填充颜色
ggplot(test, aes(x=Species, y=Sepal.Length))
geom_boxplot(aes(fill=Species))
tOl32q.png
这样箱图就画完了,为了方便保存,给箱图赋值P
p=ggplot(test, aes(x=Species, y=Sepal.Length))
geom_boxplot(aes(fill=Species))
利用Sepal.Length里的数值在箱图上打上散点
p geom_jitter(position=position_jitter(0.3))
tOl1Gn.png
这时候已经完成接近百分之八十了,如果有同学想改变一下散点的type,直接根据shape改就行。
p geom_jitter(aes(shape=Species), position=position_jitter(0.3))
tOlYrT.png
还剩最后一步,在这基础上添加t检验的P值。还是先将目前画的图保存一下赋值为p1.
p1=p geom_jitter(aes(shape=Species), position=position_jitter(0.3))
要用到ggpubr并构建一个比较的list进行t检验。
library("ggpubr")
class <- list(c("setosa","versicolor"))
p1 stat_compare_means(comparisons=class,method="t.test",label="p.signif")
这样图就画出来啦
tOltqU.png
图中的ns表示P值没统计学意义,一颗星表示0.01<P值≤0.05,俩颗星表示0.001<P值≤0.01,三颗星表示0.0001<P值≤0.001。
Hoang的简书https://www.jianshu.com/u/1fd4ff43abdc
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com