其他
【实用贴】快速上手批量可视化助您完美作图
年末促销倒计时:22天
首先用你能用的办法将目标区域(1:160000000-161000000)内的基因、目标区域上游的两个基因、目标区域下游的一个基因的位置都提取出来,然后为每个基因赋一个颜色。中间灰色的bar两端的突出可以从第一个基因的开始位置向上游扩100K、最后一个基因的结束位置向下游扩100K。整理成作图用的输入文件,如下:
第1-3列是作图基因的位置,第7列是基因的名字。
第4-5列是整个灰色bar的位置(经过上下游扩完以后的)。
第6列是基因的颜色,目标区域上下游的基因用灰色表示,目标区域内的基因用你想要的颜色表示。
为了方便调整基因的symbol不重叠,增加第8列,1和2表示基因名字在图的上部和下部。
用ggplot2作图很方便,每个bar的可以通过画矩形框填充不同的颜色实现。
#将输入文件读进来
> library(ggplot2)
> library()
> data<-read.table(file=”Region.xls”,header=T,sep="\t",stringsAsFactors=F)
#计算基因最中间的位置方便标基因label
> data$middle<-(data$end - data$start)/2+data$start
> color<data$color
#geom_rect函数先画灰色的bar,再画基因,用geom_text_repel函数标基因的label
> p<-ggplot(data)+geom_rect(aes(xmin=astart,xmax=aend,ymin=-0.01,ymax=0.01),colour="grey",fill="grey",size=0.1)+geom_rect(aes(xmin=start, xmax=end,ymin=-0.03,ymax=0.03),colour="grey", fill=color,size=0.1)+geom_text_repel(aes(x=middle,y=rep(0,length(color)),label=name),min.segment.length = 1,nudge_y = ifelse(data$index==1,0.3,-0.3))
> p<-p+ylim(c(-1,1))
> p<-p+theme_classic() +theme(axis.line = element_blank(),axis.text = element_blank(),axis.ticks = element_blank(),axis.title = element_blank())
> print(p)
排版:市场部
往期回顾: