R. Изменить размер листа на филогенной дендограмме - PullRequest
0 голосов
/ 02 октября 2018

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

library(igraph)
library(proxy)
library(factoextra)

hc = hclust(dist(mtcars))
dend <- as.dendrogram(hc)

fviz_dend(dend, k = 5,
      repel = TRUE, 
      type ="phylogenic", show_labels=T)

Теперь, хотя, я хотел бы увеличить размеротдельные очки.В соответствии с пакетом dendextend я попытался добавить leaves_cex двумя различными способами, как показано ниже, оба безуспешно (результаты описаны в коде ниже).

library(dendextend)
fviz_dend(dend, k = 5,
      repel = TRUE, leaves_cex=50,  # circle size is unchanged
      type ="phylogenic", show_labels=T) 

dend <- as.dendrogram(hc,type ="phylogenic") %>%
  set("leaves_cex", 50) %>% #creates a rectangular dendogram, phylogenic layout lost
  plot()

Я также могу попробовать использовать пакет ape, как показано ниже.Здесь я могу указать цвета с помощью tip.color, но нет никакой переменной для размера / формы наконечника.Здесь компоновка также не так хороша, как на оригинальном графике выше.

library(ape)
clus5 = cutree(hc, 5)
plot(as.phylo(hc),type="unrooted", tip.color = clus5 )

Как изменить внешний вид маркера листа для свойств, отличных от цвета?

1 Ответ

0 голосов
/ 03 октября 2018

Используя пакет ape, вид листьев довольно легко изменить, нанеся их отдельно, используя функцию tiplabels:

## The tree
my_tree <- as.phylo(hc)

## The plot without the tips
plot(my_tree,type = "unrooted", show.tip.label = FALSE)

## The tips (leaves) plotted separately with many options
tiplabels(my_tree$tip.label,
          col = clus5, # Some colours
          cex = 0.5, # The size
          adj = -1, # Position adjustment
          bg = "orange", # A background colour
          frame = "circle" # Some circles
          ) #... Many more options

. Вы можете посмотреть ?tiplabels, чтобы узнать большеинформация и опции.

...