Próbuję dodać kolor do krawędzi (linii) na wykresie typu filogenetycznego w R za pomocą polecenia plot.phylo od małpy pakiet. Ten przykład dotyczy wykresu typu "fan", choć spodziewam się, że podejście będzie takie samo z "typem phylogramu" lub czymkolwiek innym.Dendrogramuj kolory krawędzi (rozgałęzień), aby pasowały do kolorów końcówek (liści) (pakiet małp)
library('ape')
hc <- hclust(dist(USArrests), "ave")
plot(as.phylo(hc), type="fan")
Dodawanie koloru do końcówek (etykiety) opartych na zbiorze grup ma problemu z opcją tip.color połączeniu z poleceniem cutree.
hc.cuts <- cutree(hc, k=5)
plot(as.phylo(hc), type="fan", tip.color=rainbow(5)[hc.cuts])
Opcja edge.color definiuje kolory krawędzi, ale nie w logiczny sposób, gdy pożądane jest użycie wielu kolorów.
plot(as.phylo(hc), type="fan", tip.color=rainbow(5)[hc.cuts], edge.color=rainbow(5)[hc.cuts])
Chciałbym jednak, aby krawędzie pasowały do kolorów końcówki końcówki, gdy gałąź dendrogramu jest przeznaczona dla danej grupy. W podanym przykładzie, w kierunku czerwonych grup &, pierwsze poziomy krawędzi pozostaną czarne (ponieważ będą skierowane do dwóch grup: czerwonej i niebieskiej), ale krawędzie poza tym będą miały taki sam kolor, jak ewentualny kolor końcówki.
Podejrzewam, że klucz leży w ustaleniu kolejności wartości $ edge w obiekcie as.phylo, ale nie potrafię tego samodzielnie. Dzięki.
Dla znikoma szansa, że nie otrzyma zadowalającej odpowiedzi, chciałbym poinformować, że istnieją również [dendextend] (https : // github.com/talgalili/dendextend) i pakiet [ggdendro] (https://github.com/andrie/ggdendro), być może jeden z nich może ci pomóc. Oba są całkiem nowe. – maj
Hi Maj, the ggdendro by Andrie był pierwszym pakietem, który pomógłby stworzyć wykres dendrogram w ggplot2. Było to ograniczone tym, że nie uwzględniało różnych parametrów graficznych gałęzi/węzłów/liści drzewa. Dendextend ma funkcję o nazwie "as.ggdend" (która jest tak naprawdę widelcem ggdendro), która uwzględnia kolejne parametry graficzne drzewa. Więcej informacji na ten temat można znaleźć tutaj: https://cran.r-project.org/web/packages/dendextend/vignettes/introduction.html#ggplot2-integration –