簡體   English   中英

如何相對於系統發育樹上的樹尖調整尖端標簽的 position?

[英]How can I adjust the position of tip labels relative to tree tips on a phylogenetic tree?

我正在嘗試使用 R 中的apephytools包在系統發育樹上創建一個連續性狀的R的圖形以供發布。 我正在嘗試生成的示例代碼如下:

library("ape")
library("phytools")
orig_tree<-rtree(n=350)
plot(orig_tree)
values<-data.frame("residuals"=runif(350,min=-1,max=1),row.names=orig_tree$tip.label)
values<-setNames(values$residuals,rownames(values))
residualsignalfit<-fastAnc(orig_tree,values,vars=TRUE,CI=TRUE)
obj<-contMap(orig_tree,values,plot=FALSE)
plot(obj,type="fan",fsize=.1,lwd=0.5)

唯一的區別是分支的末端都是相同的長度,因為它們都是活的分類群,但這足以說明我遇到的問題。 我在這棵樹中有大量的分類群,因此我必須使用fsize=參數將文本縮小到相當小,以使它們清晰易讀。 但是,正如您從示例代碼中看到的那樣,這樣做會導致每個物種名稱的末端被系統發育樹的輪廓所掩蓋 我試過刪除輪廓,但它使系統發育的熱圖很難閱讀。 我一直找不到任何方法來減少輪廓的粗細,它似乎是自動生成的。

我還嘗試將cex命令添加到plot(obj...) ,但它對生成的樹根本沒有影響。

我想弄清楚如何做的是如何 position 尖端標簽,以使它們更清晰且不被樹的輪廓覆蓋。 我不能簡單地使用dplyr mutate function 或類似的東西在每個終端前面添加一個空格,因為 position 分類單元名稱的左側並不總是一致的右邊。 我嘗試不將數據繪制為風扇,但這最終會創建一個具有大量死區的圖形,因為我在樹中有一些非常深的分裂(基本上將圖形繪制為面向右側的樹結果一半的數字是死空間,因為我的分類群在中生代分歧,但只在 KT 邊界之后形成)。

您可以放大樹,而不是縮小文本。 您可以將 plot 導出為具有特定寬度和高度的圖像。 將兩者都設置為 20 應該使所有提示標簽清晰可見。

就像是

setEPS()
postscript("output.eps", width = 20, height = 20)
plot(obj,type="fan",lwd=0.5)
dev.off()

這會將 plot 保存到output.eps ,而不是在默認查看器中顯示它。 所以它不受屏幕尺寸的限制。 你仍然需要擺弄lwdfsize的最佳值,但根據我的經驗,當你有一個大的 canvas 時,它會容易得多。

編輯:對不起, widthheight的單位是英寸而不是像素。 所以寧願將其設置為 10 或 20。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM