我試圖添加顏色到邊緣(線)的R系統發育類型情節使用plot.phylo命令從猿包。這個例子是針對「粉絲」類型的情節,儘管我期望這種方法與「類型化的類型」或其他相同。樹狀圖邊緣(分支)顏色匹配提示(葉)顏色(猿包)
library('ape')
hc <- hclust(dist(USArrests), "ave")
plot(as.phylo(hc), type="fan")
添加顏色到基於一組基團的尖端(標籤)與tip.color選項與cutree命令組合沒有問題。當多種顏色被期望
hc.cuts <- cutree(hc, k=5)
plot(as.phylo(hc), type="fan", tip.color=rainbow(5)[hc.cuts])
的edge.color選項定義,但不是在一個logincal方式的邊緣的顏色。
plot(as.phylo(hc), type="fan", tip.color=rainbow(5)[hc.cuts], edge.color=rainbow(5)[hc.cuts])
但是,我希望邊緣匹配終端提示顏色,一旦該樹狀分支的目的地是給定的組。在給定的例子中,對於藍色組,紅色邊緣的第一層將保持黑色(因爲紅色和藍色兩組),但除此之外的邊緣的顏色與最終的顏色相同。
我懷疑關鍵在於找出as.phylo對象中$ edge值的順序,但我自己無法弄清楚。謝謝。
對於關閉的機會,你不會得到一個滿意的答案,我想告訴你,也有在[dendextend](HTTPS ://github.com/talgalili/dendextend)軟件包和[ggdendro](https://github.com/andrie/ggdendro)軟件包,也許其中的一個可以幫助你。他們都很新。 – maj
Hi Maj, Andrie的ggdendro是幫助在ggplot2中創建樹狀圖的第一個軟件包。它受到限制,因爲它沒有考慮樹的分支/節點/樹葉的各種圖形參數。 dendextend有一個名爲「as.ggdend」的函數(它實際上是ggdendro的一個分支),它確實考慮了樹的更多圖形參數。你可以在這裏看到更多的信息:https://cran.r-project.org/web/packages/dendextend/vignettes/introduction.html#ggplot2-integration –