Sto cercando di aggiungere colore ai bordi (linee) di un grafico di tipo filogenetico in R usando il comando plot.phylo della scimmia pacchetto. Questo esempio è per una trama di tipo "fan", anche se prevedo che l'approccio sarebbe lo stesso con un "tipo di phylogram" o qualsiasi altra cosa.Colori dendrogramma (diramazioni) per abbinare i colori della punta (foglia) (pacchetto scimmia)
library('ape')
hc <- hclust(dist(USArrests), "ave")
plot(as.phylo(hc), type="fan")
Aggiungere colore alle punte (etichette) sulla base di un insieme di gruppi non è un problema con l'opzione tip.color combinato con il comando cutree.
hc.cuts <- cutree(hc, k=5)
plot(as.phylo(hc), type="fan", tip.color=rainbow(5)[hc.cuts])
L'opzione edge.color definisce i colori dei bordi, ma non in maniera logincal quando molti colori sono desiderati.
plot(as.phylo(hc), type="fan", tip.color=rainbow(5)[hc.cuts], edge.color=rainbow(5)[hc.cuts])
Tuttavia, desidero bordi per abbinare i colori puntalino terminale volta che ramo del dendrogramma è destinato a un determinato gruppo. Nell'esempio riportato, verso i gruppi blu rossi &, i primi livelli di bordi rimarrebbero neri (poiché è diretto per due gruppi: rosso e blu), ma i bordi oltre questo sarebbero colorati come il colore dell'estremità finale.
Sospetto che la chiave stia nel capire l'ordine dei valori del bordo $ nell'oggetto as.phylo, ma non riesco a capirlo da solo. Grazie.
Per la remota possibilità che non sarà possibile ottenere una risposta soddisfacente, vorrei farvi sapere che ci sono anche il [dendextend] (https : //github.com/talgalili/dendextend) pacchetto e il pacchetto [ggdendro] (https://github.com/andrie/ggdendro), forse uno dei due può aiutarti. Sono entrambi abbastanza nuovi anche loro. – maj
Hi Maj, il ggdendro di Andrie è stato il primo pacchetto per aiutare a disporre di una trama di dendrogramma in ggplot2. Era limitato dal fatto che non teneva conto dei vari parametri grafici dei rami/nodi/foglie dell'albero. Il dendextend ha una funzione chiamata "as.ggdend" (che in realtà è un fork di ggdendro), che tiene conto di ulteriori parametri grafici dell'albero. Potete vederne di più qui: https://cran.r-project.org/web/packages/dendextend/vignettes/introduction.html#ggplot2-integration –