不依赖第三方包绘制
代码如下:
library(ggplot2)
#设置工作目录,并读入数据
gad_dir="~/GADs"
setwd(gad_dir)
mycsvfile = list.files(pattern="*.csv")
list2env(
lapply(setNames(mycsvfile, make.names(gsub("*.csv$", "", mycsvfile))),
read.csv,header=T,check.names=FALSE), envir = .GlobalEnv)
files<-unlist(lapply(mycsvfile, FUN = function(x) {return(strsplit(x, split = ".csv")[[1]][1])}))
#计算GeneRatio,选取排名前二十的(pvalue or 其他的)
Muscle_GAD$GeneRatio<-Muscle_GAD$Count/Muscle_GAD$`List Total`
Liver_GAD$GeneRatio<-Liver_GAD$Count/Liver_GAD$`List Total`
Adipose_GAD$GeneRatio<-Adipose_GAD$Count/Adipose_GAD$`List Total`
Muscle_GAD_pick<-Muscle_GAD[1:20,]
Liver_GAD_pick<-Liver_GAD[1:20,]
Adipose_GAD_pick<-Adipose_GAD[1:20,]
#根据GeneRatio进行二次排序
Muscle_GAD_pick<-Muscle_GAD_pick[order(Muscle_GAD_pick$GeneRatio),]
Liver_GAD_pick<-Liver_GAD_pick[order(Liver_GAD_pick$GeneRatio),]
Adipose_GAD_pick<-Adipose_GAD_pick[order(Adipose_GAD_pick$GeneRatio),]
##注意下面的排序,排序完了后要用字符变量进行限定顺序
Adipose_GAD_pick$Term <- factor(Adipose_GAD_pick$Term, levels=unique(Adipose_GAD_pick$Term))
Muscle_GAD_pick$Term <- factor(Muscle_GAD_pick$Term, levels=unique(Muscle_GAD_pick$Term))
Liver_GAD_pick$Term <- factor(Liver_GAD_pick$Term, levels=unique(Liver_GAD_pick$Term))
#ggplot2画图
ggplot(data=Liver_GAD_pick, # you can replace the numbers to the row number of pathway of your interest
aes(x = GeneRatio, y = Term)) +
geom_point(aes(size = Count, color = PValue)) +
scale_y_discrete(labels = wrap_format(50))+
scale_colour_gradient(low = "blue", high = "red")+theme_bw()+theme_classic()+
theme(axis.title.x = element_text(size=12,face="bold",colour = "black"),
axis.text.x = element_text(size=12,face="bold",colour = "black"),
axis.title.y = element_text(size=12,colour = "black",face = "bold"),
axis.text.y= element_text(size=12,face="bold",colour = "black"))