我正在尝试在R中绘制系统发育树状图。我使用以下代码获得了我想要的东西:
library(igraph)
library(proxy)
library(factoextra)
hc = hclust(dist(mtcars))
dend <- as.dendrogram(hc)
fviz_dend(dend, k = 5,
repel = TRUE,
type ="phylogenic", show_labels=T)
现在,我想增加单个点的大小。根据软件包dendextend,我尝试以以下两种不同的方式添加leaves_cex,但是都没有成功(结果在下面的代码中进行了解释)。
library(dendextend)
fviz_dend(dend, k = 5,
repel = TRUE, leaves_cex=50, # circle size is unchanged
type ="phylogenic", show_labels=T)
dend <- as.dendrogram(hc,type ="phylogenic") %>%
set("leaves_cex", 50) %>% #creates a rectangular dendogram, phylogenic layout lost
plot()
我也可以尝试使用猿包,如下所示。在这里,我可以使用tip.color来指定颜色,但是尖端尺寸/形状没有变量。在这里,布局也不像上面的原始图中那样好。
library(ape)
clus5 = cutree(hc, 5)
plot(as.phylo(hc),type="unrooted", tip.color = clus5 )
如何更改颜色以外的属性的叶子标记外观?
答案 0 :(得分:2)
使用包ape
,通过使用tiplabels
函数分别绘制叶子,可以很容易地修改叶子的外观:
## The tree
my_tree <- as.phylo(hc)
## The plot without the tips
plot(my_tree,type = "unrooted", show.tip.label = FALSE)
## The tips (leaves) plotted separately with many options
tiplabels(my_tree$tip.label,
col = clus5, # Some colours
cex = 0.5, # The size
adj = -1, # Position adjustment
bg = "orange", # A background colour
frame = "circle" # Some circles
) #... Many more options
您可以查看?tiplabels
以获得更多信息和选项。