【群体结构】structure结构图绘制

2021-02-22  本文已影响0人  群体遗传学

上一篇文章:【群体结构】CLUMPP软件使用

前面讲到利用CLUMPP合并多个K值的结果,这边主要叙述R语言绘制structure图。

代码相对简单,我主要利用R语言的低级函数**rect()**完成。

输入文件准备

image

R语言代码

导入文件名为plot.clumpp.txt,格式如上。通过循环每一行,将不同的列的值进行绘制方块,达到效果。


plotData<-read.table("plot.clumpp.txt",header=T)

plot(c(0,241),c(0,1),axes=F,xlab="",ylab="",type="n")

col1<-c('blue','green','red')

for(i in 1:241){

#利用累加数值来改变y轴绘图的位置,来达到堆积的效果

    rect(i-1,plotData[i,2],i,0,col=col1[1],border=NA)

    rect(i-1,plotData[i,2]+plotData[i,3],i,plotData[i,2],col=col1[2],border=NA)

    rect(i-1,1,i,plotData[i,2]+plotData[i,3],col=col1[3],border=NA)

    # K值较大,需要增加rect,这边适用于K=3

}

成品图如下:

image
上一篇 下一篇

猜你喜欢

热点阅读