0

我已经完成了关于这个主题的其他问题,并设法“部分”得到了我需要的东西。我希望对我的 dendrogram 的叶子进行颜色编码。每个叶子代表一个市场,我的 DF 中有另一列通过颜色代码“红色”、“黄色”或“绿色”(已编码为数字:“1”、“2” , "3")。每个市场都有一个颜色代码。我希望标签本身就是市场,但标签的颜色要基于颜色代码。

Labels      <- DF$Markets
color_codes <- DF$Type

Data_scale  # obtained after removing the columns of 'Markets' and 'Type' 
            # from DF and scaling it.

row.names(Data_scale) <- Labels

hc   <- hclust(dist(Data_scale)))
dend <- as.dendrogram(hc)

colors_to_use <- color_codes

colors_to_use <- colors_to_use[order.dendrogram(dend)]

labels_colors(dend) <- colors_to_use
plot(dend, cex = 0.8)

我的问题是,当我绘制它时,标签确实被编码,但树真的被拉长了。太长了,标签也被剪掉了。我该怎么办?

细长树状图

4

1 回答 1

2

我需要“悬挂”标签而不是将它们全部绘制在一个高度上。以下是诀窍:

dend %>% set("leaves_pch", 19) %>% set("leaves_cex", 2) %>% 
set("leaves_col", 2) %>%      # adjust the leaves
hang.dendrogram(dend, hang_height = 0.01) %>% # hang the leaves
plot(main = "Hanging a tree")

https://cran.r-project.org/web/packages/dendextend/vignettes/introduction.html

于 2017-05-16T19:28:09.663 回答