1
我已经写了使用dendextend(vignette)以下MWE:R:定制树状 - 不同的叶子节点颜色和类型的标签
library(cluster)
library(ggdendro)
library(dendextend)
d1 <- c(paste(rep("firstcelltype",7),1:7,sep="_"), paste(rep("secondcelltype", 3),1:3,sep="_"))
d1.df <- as.data.frame(t(combn(d1,2)))
set.seed(1)
d1.df$DIST <- sample(1:100, 45)
dmat <- with(d1.df, structure(DIST,
Size = length(d1),
Labels = d1,
Diag = FALSE,
Upper = FALSE,
method = "user",
class = "dist"))
c1 <- hclust(dmat, method="complete")
dend <- as.dendrogram(c1)
vals <- grep("second", d1, val=TRUE)
dend <- dend %>% set("leaves_pch", 19) %>%
set("leaves_cex", 2) %>%
set("by_labels_branches_col", value = vals, TF_values = c(2,Inf)) %>%
set("by_labels_branches_lwd", value = vals, TF_values = c(4,2))
tiff("test.tiff")
mar.default <- c(5,4,4,2) + 0.1
par(mar = mar.default + c(0, 0, 0, 5))
plot(dend, main = "MY TITLE", xlab="my.X", horiz=TRUE)
dev.off()
我在这里做的只是创建了所有可能的组合距离矩阵我的标签在“d1”和一些随机值作为距离。
我做一个树状出hclust结果,并将其保存在以下TIFF文件:
正如你看到的,我已经能够改变“secondcelltype”的分支,但我需要帮助做到以下几点,如果它甚至有可能做到:
1 - 更改“secondcelltype”假节点到红场
2 - 更改“secondcelltype”标签为红色(也许粗体或斜体)
3 - 更改字体处处为Arial
我真的很感激这里一些帮助!如果有更好的方法来做到这一点比dendextend请让我知道。谢谢!
太谢谢你了!我试图在http://stackoverflow.com/questions/14118033/horizontal-dendrogram-in-r-with-labels/14118735#14118735中的方法,但由于某种原因c($ nodePar,列表(col ='蓝色' ,lab.col ='blue',pch = 15))改变col和lab.col,但不是pch ... – DaniCee
如果你能够找出更改字体为Arial请更新!谢谢! – DaniCee
@DaniCee欢迎您。用dendrapply手动解决这些问题可能非常乏味(因为它需要对如何存储信息有所了解)。这是我编写dendextend的一部分动机。至于字体,我认为它本身可能值得一个SO问题(并且看看别人是否有建议)。干杯,塔尔 –