ape
我正在尝试使用和phytools
包在系统发育树上创建一个连续性状图的图形R
用于出版物。我正在尝试生成的示例代码如下:
library("ape")
library("phytools")
orig_tree<-rtree(n=350)
plot(orig_tree)
values<-data.frame("residuals"=runif(350,min=-1,max=1),row.names=orig_tree$tip.label)
values<-setNames(values$residuals,rownames(values))
residualsignalfit<-fastAnc(orig_tree,values,vars=TRUE,CI=TRUE)
obj<-contMap(orig_tree,values,plot=FALSE)
plot(obj,type="fan",fsize=.1,lwd=0.5)
唯一的区别是分支的末端都是相同的长度,因为它们都是活的分类群,但这足以说明我遇到的问题。我在这棵树中有大量的分类群,因此我必须使用fsize=
参数将文本缩小到相当小,以使它们清晰易读。但是,正如您从示例代码中看到的那样,这样做会导致每个物种名称的末端被系统发育树的轮廓所掩盖。我试过删除轮廓,但它使系统发育的热图很难阅读。我一直找不到任何方法来减少轮廓的粗细,它似乎是自动生成的。
我也尝试将cex
命令添加到plot(obj...)
,但它对生成的树根本没有影响。
我想弄清楚如何做的是如何定位提示标签,以使它们更清晰且不被树的轮廓覆盖。我不能简单地使用dplyr
mutate
函数或类似的方法在每个终端前面添加一个空格,因为分类单元名称的位置并不总是一致的,有时名称的左侧附加到尖端,有时它是右侧. 我尝试不将数据绘制为风扇,但这最终会创建一个具有大量死区的图形,因为我在树中有一些非常深的分裂(基本上将图形绘制为面向右侧的树结果一半的数字是死空间,因为我的分类群在中生代分歧,但只在 KT 边界之后形成)。