我已经解决了有关此主题的其他问题,并设法“部分”得到我需要的东西。我希望我的树形图的叶子是彩色编码的。每个假期代表一个市场,我在我的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)
我的问题是,当我绘制它时,标签会被编码,但树真的很长。它太长了,标签也被切断了。我该怎么办?
答案 0 :(得分: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