an example of drawing beast tree using ggtree

[This article was first published on YGC » R, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

FigTree is designed for viewing beast output as demonstrated by their example data:

BEAST output is well supported by ggtree and it’s easy to reproduce such a tree view. ggtree supports parsing beast output by read.beast function. We can visualize the tree directly by using ggtree function. Since this is a time scale tree, we can set the parameter time_scale = TRUE and ggtree will parse the time and use it as branch length.

?View Code RSPLUS
1
2
3
4
5
6
7
8
9
10
11
12
require(ggplot2)
require(ggtree)
x <- read.beast("/Applications/FigTree/influenza.tree")
cols <- scale_color(x, by="height")
ggtree(x, right=TRUE, time_scale=TRUE, color=cols) + theme_tree2() +
    geom_text(aes(x=max(x), label=label), size=1, color=cols, hjust=-.3) +
        scale_x_continuous(breaks=c(1992, 1995, 1997, 2000, 2002, 2005), minor_breaks=seq(1992, 2005, 1)) +
            geom_segment(aes(xend=max(x)+.20, yend=y), linetype="dotted", size=.1, color=cols) +
                theme(panel.grid.major   = element_line(color="black", size=.2),
                      panel.grid.minor   = element_line(color="grey", size=.2),
                      panel.grid.major.y = element_blank(),
                      panel.grid.minor.y = element_blank())

Related Posts

To leave a comment for the author, please follow the link and comment on their blog: YGC » R.

R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)