R. 改变系统发育树状图中的叶子大小
R. Change the leaf size in phylogenic dendogram plot
我正在尝试在 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()
我也可以尝试使用 ape 包,如下所示。在这里我可以指定颜色,tip.color,但没有变量提示 size/shape。这里的布局也没有上面的原图好。
library(ape)
clus5 = cutree(hc, 5)
plot(as.phylo(hc),type="unrooted", tip.color = clus5 )
除了颜色之外,我如何更改叶标记的外观?
使用包 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
了解更多信息和选项。
我正在尝试在 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()
我也可以尝试使用 ape 包,如下所示。在这里我可以指定颜色,tip.color,但没有变量提示 size/shape。这里的布局也没有上面的原图好。
library(ape)
clus5 = cutree(hc, 5)
plot(as.phylo(hc),type="unrooted", tip.color = clus5 )
除了颜色之外,我如何更改叶标记的外观?
使用包 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
了解更多信息和选项。