簡體   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