
1.数据的读取与处理
这里读取的是用KOBAS网页工具分析的KEGG结果
pathway<-read.table("SFTSV_24vscontrol_DE_mRNA_kegg.txt",header = T,sep = "\t",stringsAsFactors = F)
View(pathway)
KOBAS网页工具分析的条目里没有Rich factor这一项,所以我们需要在数据框里面加入Rich factor这一列,Rich Factor的计算方式为差异表达的基因中位于该 pathway 条目的基因数目与所有有注释基因中位于该 pathway 条目的基因总数的比值。
pathway Input.number/pathway$Background.number#添加richFactor列
kegg<-pathway[1:20,]#这里选择top20的KEGG terms来作图,由于数据框已经是按照Corrected.P.Value项从小到大排序过了,所以这里直接选择了前20项就行
2.ggplot2作图
1.将richFactor和Term映射到x轴和y轴
library(ggplot2)
colnames(kegg)
p<-ggplot(kegg,aes(x=richFactor,y=Term))
2.绘制散点图
p+geom_point()#绘制散点图
p+geom_point(aes(size=Input.number,color=Corrected.P.Value))#将点的大小映射到Input.number,将颜色映射到Corrected.P.Value
3.修改Rstudio的默认颜色
p+geom_point(aes(size=Input.number,color=Corrected.P.Value))+scale_color_gradient(low="red",high="green")
如果想修改x轴和y轴的label,比如将x轴的richFactor改成Rich factor,将y轴的Term去掉,再加上标题“Statistics of Pathway Enrichment",将Input.number改成Gene_number,将Corrected.P.Value改成qvalue,主题改成theme_bw,我们可以这样 *** 作
p+geom_point(aes(size=Input.number,color=Corrected.P.Value))+scale_color_gradient(low="red",high="green")+labs(title="Statistics of Pathway Enrichment",x="Rich factor",y="",color="qvalue",size="Gene_number")+theme_bw()
简介:箱线图叠加散点图是数据表达中常用的一种方式。ggplot2包支持图形叠加,可以很好的实现我们想要的效果。由于使用ggpolt2包绘制的箱线图的末端没有短横线,可以采用误差条图来绘制箱线图胡须末端没有短横线。
因此,可采用三个图层叠加实现:误差条图+箱线图+散点图。
1.数据与要求:
需要的数据用Excel准备并存为CSV格式,数据如下所示:
查看数据首六行:
看到:
2.具体实现
开始作图:
得到:
用annotate()函数进行标注:
得到:
或者可以用geom_label()函数标注:
得到:
对p值标注的字体调整:
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)