Цель: я хотел бы сохранить цвет метки и цвет легенды на двух дендограммах, созданных для одного и того же набора данных.
У меня есть тот же набор данных (40 наблюдений), который преобразуется в дендограмму в 2 процесса (предварительно отфильтрованный и отфильтрованный). Однако цвета меток меняются в зависимости от того, как они сгруппированы (и, следовательно, изменяется порядок меток в дендрограмме).
Вот фрагмент кода:
library(dendextend)
small_mtcars <- head(mtcars)
small_mtcars
d1 = small_mtcars %>% select(mpg, cyl, disp) %>% dist() %>% hclust(method = "average") %>% as.dendrogram()
d2 = small_mtcars %>% select(mpg, cyl, disp) %>% dist() %>% hclust(method = "complete") %>% as.dendrogram()
par(mar = c(10,4,4,2) + 0.1)
# Plotting d1
test <- d1 %>%
set("labels_cex",0.7) %>%
plot(main="d1")
legend("topright", legend=unique(rownames(small_mtcars)[order.dendrogram(d1)]), cex=0.75, bty="n",
fill=seq(1,length(unique(rownames(small_mtcars)[order.dendrogram(d1)]))))
# Plotting d2
test2 <- d2 %>%
set("labels_cex",0.7) %>%
plot(main="d2")
legend("topright", legend=unique(rownames(small_mtcars)[order.dendrogram(d2)]), cex=0.75, bty="n",
fill=seq(1,length(unique(rownames(small_mtcars)[order.dendrogram(d2)]))))
Основываясь на приведенном выше фрагменте кода, вот две вещи, которых я хочу достичь.
- Цветовая легенда должна быть одинаковой для обеих дендограмм (на приложенных изображениях модель Valiant зеленая на d1_dendogram и фиолетовая на d2_dendogram)
- Я хотел бы раскрасить метку листа тем же цветом, что и легенда.
Заранее спасибо.