【发布时间】:2016-11-17 05:17:18
【问题描述】:
我使用 dendextend (vignette) 编写了以下 MWE:
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 更好的方法,请告诉我。谢谢!
【问题讨论】:
标签: r fonts colors dendrogram dendextend