(This article was first published on
YGC » R, and kindly contributed to
R-bloggers)
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.
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()) |