转载于http://www.omicshare.com/forum/thread-146-1-1.html
OmicShare Forum 专业的生物信息学论坛
# 安装包
install.packages("ggplot2")
# 导入包
# 帮助文档链接:
library(ggplot2)
# 设置工作路径到数据存放的文件夹下
# 读数据
pathway = read.table("R0-vs-R3.path.richFactor.head20.tsv",header=T,sep="\t")
# 画图
pp = ggplot(pathway,aes(richFactor,Pathway))
pp + geom_point()
# 改变点的大小
pp + geom_point(aes(size=R0vsR3))
# 四维数据的展示
pbubble = pp + geom_point(aes(size=R0vsR3,color=-1*log10(Qvalue)))
# 自定义渐变颜色
pbubble + scale_colour_gradient(low="green",high="red")
# 绘制pathway富集散点图
pr = pbubble + scale_colour_gradient(low="green",high="red") + labs(color=expression(-log[10](Qvalue)),size="Gene number",x="Rich factor",y="Pathway name",title="Top20 of pathway enrichment")
# 改变图片的样式(主题)
pr + theme_bw()
## 保存图片
ggsave("out.pdf") # 保存为pdf格式,支持 pdf,png,svg多重格式
ggsave("out.png")# 保存为png格式
ggsave("out2.png",width=4,height=4) # 设定图片大小
备注,绘图数据的说明:
(1)绘图数据来自我们公司KEGG富集分析的结果,相应文件是结题报告中存在的,略作调整即可;
(2)绘图数据每一列的意思:
1)Pathway : 通路的名称
2)R0vsR3 :差异表达基因中,属于这个通路的基因的数量
3)All_Unigene :所有基因中属于这个通路的基因的数量
4)Pvalue :富集分析p值
5)Qvalue :富集分析的Q值
6)richFactor :在我们分析报告中,没有提供这一列,但很容易计算。是 第二列 除以 第三列得到;
7)Pathway ID :通路ID
8)Genes :通路中基因的ID
9)KOs :通路中基因的KO号
补充一点:绘图仅仅用到4类,分布是第1,2,5,6列
再补充一点(来源25,26,28楼的讨论)
(1)在pathway名称中如有重名,这会导致错误。在表中每个pathway只能出现一次;
(2)文本中,出现了引号会导致错误。例如,Alzheimer's disease, Huntington's disease这样的名称。
这两个pathway 名称中的引号需要删除。引号的出现,会导致R无法识别两个引号间的其他符号(退格符,换行符等),导致文件读取错误。
如果一定要保留引号,则引号的内容再用引号囊括起来,例如:
"Alzheimer's disease","Huntington's disease",从而避免单个出现的引号对其他字符的影响 。
有话要说...