使用adegenet R软件包为树中的不同簇提供不同的颜色
我正在使用R包使用adegenet R软件包为树中的不同簇提供不同的颜色,r,plot,phylogeny,R,Plot,Phylogeny,我正在使用R包adegenet绘制邻居加入树 在我的文件中,我有20000列和500行。行对应于个人。我的第一列是人口ID,第二列是个人ID。列包含值0、1和2。我可以用一种颜色绘制一棵树,但根据人口的不同,我希望每个簇都是不同的颜色 这就是我所做的,如果“dat”是我的数据文件,那么 D<-dist(as.matrix(dat)) tre<-nj(D) plot(tre, type = "unr", show.tip.lab = TRUE, cex=0.3, font=1, edg
adegenet
绘制邻居加入树
在我的文件中,我有20000列和500行。行对应于个人。我的第一列是人口ID,第二列是个人ID。列包含值0、1和2。我可以用一种颜色绘制一棵树,但根据人口的不同,我希望每个簇都是不同的颜色
这就是我所做的,如果“dat”是我的数据文件,那么
D<-dist(as.matrix(dat))
tre<-nj(D)
plot(tre, type = "unr", show.tip.lab = TRUE, cex=0.3, font=1, edge.col="Blue")
谢谢你的帮助 您的示例应该是可复制的,以便更容易帮助和再现您的问题。有关详细信息,请参阅此帖子。我正在尝试使用
iris
,它就像一个符咒。顺便说一句,我认为这里不需要adegenet
,plot
实际上是一个plot.phylo
,它来自于包ape
),所有其他函数都是内置的或来自ape
)
文档(?plot.phylo
)中说:
edge.col
模式特征向量,给出绘制系统发育分支所用的颜色。它们的顺序与phy的组件边缘相同。如果给出的颜色少于边的长度,则颜色被回收
ape
保留顺序或行,您可以使用因子
为颜色向量编制索引,因此使用iris
的可复制示例可以是:
library(ape)
D <-dist(as.matrix(iris[, 1:4]))
tree <- nj(D)
plot(tree, type = "unr", show.tip.lab = TRUE, cex=0.3, font=1,
edge.col=c("red","green","blue")[iris$Species])
库(ape)
D谢谢@Vincet!这就是我要找的。我想知道是否有办法有选择地按名称删除样本?一些样品正在毁坏这棵树。
library(ape)
D <-dist(as.matrix(iris[, 1:4]))
tree <- nj(D)
plot(tree, type = "unr", show.tip.lab = TRUE, cex=0.3, font=1,
edge.col=c("red","green","blue")[iris$Species])