Как отображать длину ветвей в филогенетическом дереве

Здесь у меня есть код, который рисует простое филогенетическое дерево из формата newick:

library(ape)
t<-read.tree(text="(F:4,(  (D:2,E:2):1,(C:2,(B:1,A:1):1):1):1);")
plot(t,use.egde.length=TRUE)

Я «показываю» правильную длину ветвей, но я хочу, чтобы все ветки имели с ней лабал. введите описание изображения здесь

изменить: я хочу, чтобы мой график выглядел так:  введите описание изображения здесь Я искал документацию, но не могу найти способ отображения длины ветки в R. Как я могу это сделать?


person Frederigo    schedule 16.11.2015    source источник
comment
Как в t$egde.length?   -  person    schedule 16.11.2015
comment
Я хочу иметь длину всех ветвей на дереве над ветвями.   -  person Frederigo    schedule 16.11.2015
comment
Вы сказали, что хотите отображать длину ветки в R. Я даю вам путь. Если у вас есть более конкретный запрос, уточните его.   -  person    schedule 16.11.2015
comment
Длина ветвей в моем дереве правильная, я просто хочу, чтобы все ветки имели метку такой длины, например 4 над веткой F   -  person Frederigo    schedule 16.11.2015
comment
но как я могу его использовать, чтобы отображать его во всех ветвях?   -  person Frederigo    schedule 16.11.2015


Ответы (2)


Вы можете сделать это, извлекая длины ребер и используя edgelabels().

# Load package
library(ape)

# Create data
t <- read.tree(text="(F:4,((D:2,E:2):1,(C:2,(B:1,A:1):1):1):1);")
plot(t)
edgelabels(t$edge.length, bg="black", col="white", font=2)

person Slow loris    schedule 17.05.2016

Вот способ получить нужный сюжет:

t$tip.label <- c("F\n4", "D\n2", "E\n2", "C\n2", "B\n1", "A\n1")
plot(t,show.node.label=TRUE, show.tip.label=TRUE)

[изображение]

Однако я не знаю изящного способа извлечения длин без выполнения этого вручную.

person Tim Biegeleisen    schedule 16.11.2015
comment
спасибо, но есть ли способ показать длину остальных ветвей? (F: 4, ((D: 2, E: 2): 1, (C: 2, (B: 1, A: 1): 1): 1): 1); последние ветви 1 длины - person Frederigo; 16.11.2015
comment
Могу я попросить вас обновить исходный вопрос изображением, содержащим именно то, что вы хотите видеть? Я подозреваю, что ответ на ваш вопрос отрицательный, потому что метки наконечников - единственные метки, которые можно настроить в соответствии с интерфейсом. Конечно, всегда можно взломать исходный код, но это большая работа. - person Tim Biegeleisen; 16.11.2015
comment
Это легко сделать с помощью edgelabels, см. Мой ответ - person Slow loris; 17.05.2016