轉載于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",從而避免單個出現的引号對其他字符的影響 。
有話要說...