繁体   English   中英

将尖端标签定位在树状图中的尖端旁边

[英]Positioning tip labels next to the tips in the dendrogram

我读了一棵树( .nex ),将其转换为dendro class 和 plot 它使用来自ggdendrogramggplot2 我怎样才能 position 在树状图中的尖端旁边而不是底部的尖端标签?

mytree <- read.nexus('mytree.nex')
den_data_mytree <- dendro_data(as.dendrogram(mytree))
pdf('mytree.pdf', h=55,w=55)
ggdendrogram(den_data_mytree, theme_dendro=F, labels=F) +
  labs(x = "x label", y = "y label", title = "Title") + 
  geom_text(data = den_data_mytree$labels, aes(x, y, label = label,color=den_data_mytree$labels$group), hjust = 1.2, size = 9, angle=90) + 
  scale_colour_manual(values=c("purple","orange")) +
  theme(axis.text=element_text(size=24), axis.title=element_text(size=54,face="bold"), title = element_text(size=54), legend.title = element_blank())
dev.off()

output 是这个图像:

ggdendogram

这是数据:

>dput(core_snp_tree)
structure(list(edge = structure(c(109L, ..., 108L), .Dim = c(213L, 2L)), edge.length = c(0.00373, 0,  3e-05, ..., 0.00844), Nnode = 106L,      node.label = c("", "100.00", ..., "100.00"), tip.label = c("list","of","tip","labels"), root.edge = 0), class = "phylo", order = "cladewise")

您可能希望将dendextend package 与hang.dendrogram function 和 ggdend 一起使用(最简单的方法是在 dendrogram 对象上使用 ggplot 调用)。 一般来说,dendextend::ggdend 是 ggdendro 的扩展版本。

例子:

hc <- hclust(dist(USArrests[1:5, ]), "ave")
library(dendextend)
dend <- hang.dendrogram(as.dendrogram(hc))
library(ggplot2)
ggplot(dend)

在此处输入图像描述

有关更多详细信息,请参见此处

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM