Basic Use of Phylocanvas

Zach Chrlop-Powers


Use phylocanvas to draw phylogenetic trees. Basic options to control the tree are availalbe in this top level function. The tree shape in controlled by the treetype option. Try ‘radial’ and ‘heirarchical’ as well.


tree = ape::read.tree(text = "(A:0.1,B:0.2,(C:0.3,D:0.4)E:0.5)F;")
phycanv <- phylocanvas(tree, treetype = "rectangular", alignlabels = T)
phycircle <- phylocanvas(tree, treetype = "circular", nodesize = 30, linewidth = 10)

Stylize nodes

Node styling options are available. Most of the appearance of a node can be changed here. Note below that colors can be either colornames, rgb strings or hex strings.

# Note that colors are names, rgbs or hex
phycanv %>%
  style_node("A", nodesizeratio = 4, fillcolor="rgb(0, 255, 0)") %>% 
  style_node("B", fillcolor = "blue") %>%
  style_node("C", labeltextsize = 10, shape="triangle") %>%
  style_node("D", fillcolor="#ffa500", highlighted=TRUE) 

Collapse Branches

phycircle %>% collapse_branch("E")

Rotate Branches

phycircle %>% rotate_branch("E")

Select Branches

phycanv %>% select_branch("B")
phycanv %>% select_branch("E", cascade=TRUE)

Highlight Nodes

phycanv %>% highlight_node("B")

Use Plugins

Phylocanvas has a nubmer of different plugins that extend the basic tree. These include pluings ofr metadata, scale bars, svg export, context menu on the mouse, and history. We will try to add as many as reasonable. Currently this htmlwidget sis based on the phylocanvas-quickstart so we can activate the history, context, scale, and metadata features.

# Note the scalebar is active
tree = ape::read.tree(text="(A:0.1,B:0.2,(C:0.3,D:0.4)E:0.5)F;")
phylocanvas(tree, showscalebar = TRUE)