bioconductor v3.9.0 Ggtree
'ggtree' extends the 'ggplot2' plotting system which implemented
Link to this section Summary
Functions
Date2decimal
%<+%
%+>%
add_colorbar
annotation_image
applyLayoutDaylight
as.polytomy
collapse-ggtree
decimal2Date
.
expand
facet_labeller
facet_plot
facet_widths
flip
geom_aline
geom_balance
geom_cladelabel
geom_cladelabel2
geom_hilight
geom_hilight_encircle
geom_label2
geom_motif
geom_nodelab
@geom_nodelab2
geom_nodepoint
geom_point2
geom_range
geom_rootedge
geom_rootpoint
geom_segment2
geom_strip
geom_taxalink
geom_text2
geom_tiplab
geom_tiplab2
geom_tippoint
geom_tree
geom_tree2
geom_treescale
getNodeAngle.df
getNodesBreadthFirst.df
getSubtree
getSubtreeUnrooted
getSubtreeUnrooted
getSubtree.df
getTreeArcAngles
get_balance_position
get_clade_position
get_heatmap_column_position
get_taxa_name
get.path
visualizing phylogenetic tree and heterogenous associated data based on grammar of graphics
ggtree
provides functions for visualizing phylogenetic tree and its associated data in R.
StatBalance
gheatmap
gzoom method
gzoom
identify
inset
Equal daylight layout method for unrooted trees.
layoutEqualAngle
msaplot
multiplot
nodebar
nodeid
nodepie
open_tree
phylopic
range_format
Objects exported from other packages
revts
rotate
rotateTreePoints.data.fram
rotate_tree
scaleClade
scale_color method
scale_x_ggtree
set_hilight_legend
stat_balance
stat_hilight
subview
theme_inset
theme_tree
theme_tree2
%<%
viewClade
xlim_expand
xlim_tree
Link to this section Functions
Date2decimal()
Date2decimal
Description
convert Date to decimal format, eg "2014-05-05" to "2014.34"
Usage
Date2decimal(x)
Arguments
Argument | Description |
---|---|
x | Date |
Value
numeric
Author
Guangchuang Yu
add_TREEDATA()
%<+%
Description
add annotation data to a tree
Usage
pg %<+% data
Arguments
Argument | Description |
---|---|
pg | ggplot2 object |
data | annotation data |
Value
ggplot object with annotation data added
Author
Guangchuang Yu
Examples
nwk <- system.file("extdata", "sample.nwk", package="treeio")
tree <- read.tree(nwk)
p <- ggtree(tree)
dd <- data.frame(taxa=LETTERS[1:13],
place=c(rep("GZ", 5), rep("HK", 3), rep("CZ", 4), NA),
value=round(abs(rnorm(13, mean=70, sd=10)), digits=1))
row.names(dd) <- NULL
p %<+% dd + geom_text(aes(color=place, label=label), hjust=-0.5)
add_TREEINFO()
%+>%
Description
update data with tree info (y coordination and panel)
Usage
p %+>% data
Arguments
Argument | Description |
---|---|
p | tree view |
data | data.frame |
Value
updated data.frame
Author
Guangchuang Yu
add_colorbar()
add_colorbar
Description
add colorbar legend
Usage
add_colorbar(p, color, x = NULL, ymin = NULL, ymax = NULL,
font.size = 4)
Arguments
Argument | Description |
---|---|
p | tree view |
color | output of scale_color function |
x | x position |
ymin | ymin |
ymax | ymax |
font.size | font size |
Value
ggplot2 object
Author
Guangchuang Yu
annotation_image()
annotation_image
Description
annotation taxa with images
Usage
annotation_image(tree_view, img_info, width = 0.1, align = TRUE,
linetype = "dotted", linesize = 1, offset = 0)
Arguments
Argument | Description |
---|---|
tree_view | tree view |
img_info | data.frame with first column of taxa name and second column of image names |
width | width of the image to be plotted in image |
align | logical |
linetype | line type if align = TRUE |
linesize | line size if align = TRUE |
offset | offset of image from the tree view |
Value
tree view
Author
Guangchuang Yu
applyLayoutDaylight()
applyLayoutDaylight
Description
Apply the daylight alorithm to adjust the spacing between the subtrees and tips of the specified node.
Usage
applyLayoutDaylight(df, node_id)
Arguments
Argument | Description |
---|---|
df | tree data.frame |
node_id | is id of the node from which daylight is measured to the other subtrees. |
Value
list with tree data.frame with updated layout using daylight algorithm and max_change angle.
aspolytomy()
as.polytomy
Description
collapse binary tree to polytomy by applying 'fun' to 'feature'
Usage
as.polytomy(tree, feature, fun)
Arguments
Argument | Description |
---|---|
tree | tree object |
feature | selected feature |
fun | function to select nodes to collapse |
Value
polytomy tree
Author
Guangchuang Yu
collapse()
collapse-ggtree
Description
collapse a clade
Usage
list(list("collapse"), list("ggtree"))(x = NULL, node, clade_name = NULL, ...)
Arguments
Argument | Description |
---|---|
x | tree view |
node | clade node |
clade_name | set clade name. If clade_name = NULL, do nothing |
... | additional parameters |
Value
tree view
Seealso
expand
Author
Guangchuang Yu
decimal2Date()
decimal2Date
Description
convert decimal format to Date, eg "2014.34" to "2014-05-05"
Usage
decimal2Date(x)
Arguments
Argument | Description |
---|---|
x | numerical number, eg 2014.34 |
Value
Date
Author
Guangchuang Yu
dotFun()
.
Description
capture name of variable
Usage
.(..., .env = parent.frame())
Arguments
Argument | Description |
---|---|
... | expression |
.env | environment |
Value
expression
Examples
x <- 1
eval(.(x)[[1]])
expand()
expand
Description
expand collased clade
Usage
expand(tree_view = NULL, node)
Arguments
Argument | Description |
---|---|
tree_view | tree view |
node | clade node |
Value
tree view
Seealso
collapse
Author
Guangchuang Yu
facet_labeller()
facet_labeller
Description
label facet_plot output
Usage
facet_labeller(p, label)
Arguments
Argument | Description |
---|---|
p | facet_plot output |
label | labels of facet panels |
Value
ggplot object
Author
Guangchuang Yu
facet_plot()
facet_plot
Description
plot tree associated data in an additional panel
Usage
facet_plot(p, panel, data, geom, mapping = NULL, ...)
Arguments
Argument | Description |
---|---|
p | tree view |
panel | panel name for plot of input data |
data | data to plot by 'geom', first column should be matched with tip label of tree |
geom | geom function to plot the data |
mapping | aes mapping for 'geom' |
... | additional parameters for 'geom' |
Details
'facet_plot()' automatically re-arranges the input 'data' according to the tree structure, visualizes the 'data' on specific 'panel' using the 'geom' function with aesthetic 'mapping' and other parameters, and align the graph with the tree 'p' side by side.
Value
ggplot object
Author
Guangchuang Yu
Examples
tr <- rtree(10)
dd = data.frame(id=tr$tip.label, value=abs(rnorm(10)))
p <- ggtree(tr)
facet_plot(p, 'Trait', data = dd, geom=geom_point, mapping=aes(x=value))
facet_widths()
facet_widths
Description
set relative widths (for column only) of facet plots
Usage
facet_widths(p, widths)
Arguments
Argument | Description |
---|---|
p | ggplot or ggtree object |
widths | relative widths of facet panels |
Value
ggplot object by redrawing the figure (not a modified version of input object)
Author
Guangchuang Yu
flip()
flip
Description
flip position of two selected branches
Usage
flip(tree_view = NULL, node1, node2)
Arguments
Argument | Description |
---|---|
tree_view | tree view |
node1 | node number of branch 1 |
node2 | node number of branch 2 |
Value
ggplot2 object
Author
Guangchuang Yu
geom_aline()
geom_aline
Description
add horizontal align lines
Usage
geom_aline(mapping = NULL, linetype = "dotted", size = 1, ...)
Arguments
Argument | Description |
---|---|
mapping | aes mapping |
linetype | line type |
size | line size |
... | additional parameter |
Value
aline layer
Author
Yu Guangchuang
geom_balance()
geom_balance
Description
highlights the two direct descendant clades of an internal node
Usage
geom_balance(node, fill = "steelblue", color = "white", alpha = 0.5,
extend = 0, extendto = NULL)
Arguments
Argument | Description |
---|---|
node | selected node (balance) to highlight |
fill | color fill |
color | color to outline highlights and divide balance |
alpha | alpha (transparency) |
extend | extend xmax of the rectangle |
extendto | extend xmax to extendto |
Details
Particularly useful when studying neighboring clades. Note that balances that correspond to multichotomies will not be displayed.
Value
ggplot2
Author
Justin Silverman
References
J. Silverman, et al. list("A phylogenetic transform enhances ", " analysis of compositional microbiota data") . (in preparation)
geom_cladelabel()
geom_cladelabel
Description
annotate a clade with bar and text label
Usage
geom_cladelabel(node, label, offset = 0, offset.text = 0, extend = 0,
align = FALSE, barsize = 0.5, fontsize = 3.88, angle = 0,
geom = "text", hjust = 0, color = NULL, fill = NA,
family = "sans", parse = FALSE, ...)
Arguments
Argument | Description |
---|---|
node | selected node |
label | clade label |
offset | offset of bar and text from the clade |
offset.text | offset of text from bar |
extend | extend bar height |
align | logical |
barsize | size of bar |
fontsize | size of text |
angle | angle of text |
geom | one of 'text' or 'label' |
hjust | hjust |
color | color for clade & label, of length 1 or 2 |
fill | fill label background, only work with geom='label' |
family | sans by default, can be any supported font |
parse | logical, whether parse label |
... | additional parameter |
Value
ggplot layers
Author
Guangchuang Yu
geom_cladelabel2()
geom_cladelabel2
Description
annotate a clade with bar and text label
Usage
geom_cladelabel2(node, label, offset = 0, offset.text = 0,
offset.bar = 0, align = FALSE, barsize = 0.5, fontsize = 3.88,
hjust = 0, geom = "text", color = NULL, family = "sans",
parse = FALSE, ...)
Arguments
Argument | Description |
---|---|
node | selected node |
label | clade label |
offset | offset of bar and text from the clade |
offset.text | offset of text from bar |
offset.bar | offset of bar from text |
align | logical |
barsize | size of bar |
fontsize | font size of text |
hjust | justify text horizontally |
geom | one of 'text' or 'label' |
color | color for clade & label, of length 1 or 2 |
family | sans by default, can be any supported font |
parse | logical, whether parse label |
... | additional parameter |
Value
ggplot layers
Author
JustGitting
geom_hilight()
geom_hilight
Description
layer of hilight clade with rectangle
Usage
geom_hilight(node, fill = "steelblue", alpha = 0.5, extend = 0,
extendto = NULL)
Arguments
Argument | Description |
---|---|
node | selected node to hilight (required) |
fill | color fill (default = steelblue) |
alpha | alpha transparency, (default = 0.5) |
extend | extend xmax of the rectangle (default = 0) |
extendto | extend xmax to extendto (default = NULL) |
Value
ggplot2
Author
Guangchuang Yu
geom_hilight_encircle()
geom_hilight_encircle
Description
layer of hilight clade with xspline
Usage
geom_hilight_encircle(data = NULL, node, mapping = NULL,
fill = "steelblue", alpha = 0.5, expand = 0, ...)
Arguments
Argument | Description |
---|---|
data | data frame to calculate xspline (default = NULL) |
node | selected node to hilight (required) |
mapping | aesthetic mapping (default = NULL) |
fill | colour fill (default = steelblue) |
alpha | alpha (transparency) (default = 0.5) |
expand | expands the xspline clade region only (default = 0) |
... | addtional parameters, including: 'spread' spread of shape? (default = 0.1), 'linetype' Line type of xspline (default = 1), 'size' Size of xspline line (default = 1), 's_shape' Corresponds to shape of xspline (default = 0.5), 's_open' Boolean switch determines if xspline shape is open or closed. (default = FALSE) |
Value
ggplot2
geom_label2()
geom_label2
Description
geom_label2 support aes(subset) via setup_data
Usage
geom_label2(mapping = NULL, data = NULL, ..., stat = "identity",
position = "identity", family = "sans", parse = FALSE,
nudge_x = 0, nudge_y = 0, label.padding = unit(0.25, "lines"),
label.r = unit(0.15, "lines"), label.size = 0.25, na.rm = TRUE,
show.legend = NA, inherit.aes = TRUE)
Arguments
Argument | Description |
---|---|
mapping | the aesthetic mapping |
data | A layer specific dataset - only needed if you want to override the plot defaults. |
... | other arguments passed on to 'layer' |
stat | Name of stat to modify data |
position | The position adjustment to use for overlapping points on this layer |
family | sans by default, can be any supported font |
parse | if TRUE, the labels will be passd into expressions |
nudge_x | horizontal adjustment |
nudge_y | vertical adjustment |
label.padding | Amount of padding around label. |
label.r | Radius of rounded corners. |
label.size | Size of label border, in mm |
na.rm | logical |
show.legend | logical |
inherit.aes | logical |
Value
label layer
Seealso
Author
Guangchuang Yu
geom_motif()
geom_motif
Description
geom layer to draw aligned motif
Usage
geom_motif(mapping, data, on, ...)
Arguments
Argument | Description |
---|---|
mapping | aes mapping |
data | data |
on | gene to center (i.e. set middle position of the on gene to 0) |
... | additional parameters |
Value
geom layer
Author
Guangchuang Yu
geom_nodelab()
geom_nodelab
Description
add node label layer
Usage
geom_nodelab(mapping = NULL, nudge_x = 0, nudge_y = 0,
geom = "text", hjust = 0.5, ...)
Arguments
Argument | Description |
---|---|
mapping | aes mapping |
nudge_x | horizontal adjustment to nudge label |
nudge_y | vertical adjustment to nudge label |
geom | one of 'text', 'label', 'image' and 'phylopic' |
hjust | horizontal alignment, one of 0, 0.5 or 1 |
... | additional parameters |
Value
geom layer
Author
Guangchuang Yu
geom_nodelab2()
@geom_nodelab2
Description
add node label for circular layout
Usage
geom_nodelab2(mapping = NULL, nudge_x = 0, nudge_y = 0,
geom = "text", hjust = 0.5, ...)
Arguments
Argument | Description |
---|---|
mapping | aes mapping |
nudge_x | horizontal adjustment to nudge label |
nudge_y | vertical adjustment to nudge label |
geom | one of 'text', 'label', 'image' and 'phylopic' |
hjust | horizontal alignment, one of 0, 0.5 or 1 |
... | additional parameters |
Value
node label layer
Author
Guangchuang Yu
geom_nodepoint()
geom_nodepoint
Description
add node point
Usage
geom_nodepoint(mapping = NULL, data = NULL, position = "identity",
na.rm = FALSE, show.legend = NA, inherit.aes = TRUE, ...)
Arguments
Argument | Description |
---|---|
mapping | aes mapping |
data | data |
position | position |
na.rm | logical |
show.legend | logical |
inherit.aes | logical |
... | addktional parameter |
Value
node point layer
Author
Guangchuang Yu
geom_point2()
geom_point2
Description
geom_point2 support aes(subset) via setup_data
Usage
geom_point2(mapping = NULL, data = NULL, stat = "identity",
position = "identity", na.rm = FALSE, show.legend = NA,
inherit.aes = TRUE, ...)
Arguments
Argument | Description |
---|---|
mapping | aes mapping |
data | data |
stat | Name of stat to modify data |
position | position |
na.rm | logical |
show.legend | logical |
inherit.aes | logical |
... | addktional parameter |
Value
point layer
Seealso
Author
Guangchuang Yu
geom_range()
geom_range
Description
bar of range (HPD, range etc) to present uncertainty of evolutionary inference
Usage
geom_range(range = "length_0.95_HPD", branch.length = "branch.length",
...)
Arguments
Argument | Description |
---|---|
range | range, e.g. "height_0.95_HPD" |
branch.length | corresponding branch.length |
... | additional parameter, e.g. color, size, alpha |
Value
ggplot layer
Author
Guangchuang Yu
geom_rootedge()
geom_rootedge
Description
display root edge
Usage
geom_rootedge(rootedge = NULL, ...)
Arguments
Argument | Description |
---|---|
rootedge | length of rootedge; use phylo$root.edge if rootedge = NULL (by default). |
... | additional parameters |
Value
ggplot layer
Author
Guangchuang Yu
geom_rootpoint()
geom_rootpoint
Description
add root point
Usage
geom_rootpoint(mapping = NULL, data = NULL, position = "identity",
na.rm = FALSE, show.legend = NA, inherit.aes = TRUE, ...)
Arguments
Argument | Description |
---|---|
mapping | aes mapping |
data | data |
position | position |
na.rm | logical |
show.legend | logical |
inherit.aes | logical |
... | addktional parameter |
Value
root point layer
Author
Guangchuang Yu
geom_segment2()
geom_segment2
Description
geom_segment2 support aes(subset) via setup_data
Usage
geom_segment2(mapping = NULL, data = NULL, stat = "identity",
position = "identity", lineend = "butt", na.rm = FALSE,
show.legend = NA, inherit.aes = TRUE, nudge_x = 0, arrow = NULL,
arrow.fill = NULL, ...)
Arguments
Argument | Description |
---|---|
mapping | aes mapping |
data | data |
stat | Name of stat to modify data |
position | position |
lineend | lineend |
na.rm | logical |
show.legend | logical |
inherit.aes | logical |
nudge_x | horizontal adjustment of x |
arrow | specification for arrow heads, as created by arrow(). |
arrow.fill | fill color to usse for the arrow head (if closed). NULL means use colour aesthetic. |
... | additional parameter |
Value
add segment layer
Seealso
Author
Guangchuang Yu
geom_strip()
geom_strip
Description
annotate associated taxa (from taxa1 to taxa2, can be Monophyletic, Polyphyletic or Paraphyletc Taxa) with bar and (optional) text label
Usage
geom_strip(taxa1, taxa2, label = NA, offset = 0, offset.text = 0,
align = TRUE, barsize = 0.5, extend = 0, fontsize = 3.88,
angle = 0, geom = "text", hjust = 0, fill = NA,
family = "sans", parse = FALSE, ...)
Arguments
Argument | Description |
---|---|
taxa1 | taxa1 |
taxa2 | taxa2 |
label | optional label |
offset | offset of bar and text from the clade |
offset.text | offset of text from bar |
align | logical |
barsize | size of bar |
extend | extend bar vertically |
fontsize | size of text |
angle | angle of text |
geom | one of 'text' or 'label' |
hjust | hjust |
fill | fill label background, only work with geom='label' |
family | sans by default, can be any supported font |
parse | logical, whether parse label |
... | additional parameter |
Value
ggplot layers
Author
Guangchuang Yu
geom_taxalink()
geom_taxalink
Description
link between taxa
Usage
geom_taxalink(taxa1, taxa2, curvature = 0.5, arrow = NULL,
arrow.fill = NULL, ...)
Arguments
Argument | Description |
---|---|
taxa1 | taxa1, can be label or node number |
taxa2 | taxa2, can be label or node number |
curvature | A numeric value giving the amount of curvature. Negative values produce left-hand curves, positive values produce right-hand curves, and zero produces a straight line. |
arrow | specification for arrow heads, as created by arrow(). |
arrow.fill | fill color to usse for the arrow head (if closed). NULL means use colour aesthetic. |
... | additional parameter |
Value
ggplot layer
Author
Guangchuang Yu
geom_text2()
geom_text2
Description
geom_text2 support aes(subset) via setup_data
Usage
geom_text2(mapping = NULL, data = NULL, ..., stat = "identity",
position = "identity", family = "sans", parse = FALSE,
na.rm = TRUE, show.legend = NA, inherit.aes = TRUE, nudge_x = 0,
nudge_y = 0, check_overlap = FALSE)
Arguments
Argument | Description |
---|---|
mapping | the aesthetic mapping |
data | A layer specific dataset - only needed if you want to override he plot defaults. |
... | other arguments passed on to 'layer' |
stat | Name of stat to modify data |
position | The position adjustment to use for overlapping points on this layer |
family | sans by default, can be any supported font |
parse | if TRUE, the labels will be passd into expressions |
na.rm | logical |
show.legend | logical |
inherit.aes | logical |
nudge_x | horizontal adjustment |
nudge_y | vertical adjustment |
check_overlap | if TRUE, text that overlaps previous text in the same layer will not be plotted |
Value
text layer
Seealso
Author
Guangchuang Yu
geom_tiplab()
geom_tiplab
Description
add tip label layer
Usage
geom_tiplab(mapping = NULL, hjust = 0, align = FALSE,
linetype = "dotted", linesize = 0.5, geom = "text", offset = 0,
...)
Arguments
Argument | Description |
---|---|
mapping | aes mapping |
hjust | horizontal adjustment |
align | align tip lab or not, logical |
linetype | linetype for adding line if align = TRUE |
linesize | line size of line if align = TRUE |
geom | one of 'text', 'label', 'image' and 'phylopic' |
offset | tiplab offset |
... | additional parameter |
Value
tip label layer
Author
Guangchuang Yu
Examples
require(ape)
tr <- rtree(10)
ggtree(tr) + geom_tiplab()
geom_tiplab2()
geom_tiplab2
Description
add tip label for circular layout
Usage
geom_tiplab2(mapping = NULL, hjust = 0, ...)
Arguments
Argument | Description |
---|---|
mapping | aes mapping |
hjust | horizontal adjustment |
... | additional parameter, see geom_tiplab |
Value
tip label layer
Author
Guangchuang Yu
References
https://groups.google.com/forum/#!topic/bioc-ggtree/o35PV3iHO-0
geom_tippoint()
geom_tippoint
Description
add tip point
Usage
geom_tippoint(mapping = NULL, data = NULL, position = "identity",
na.rm = FALSE, show.legend = NA, inherit.aes = TRUE, ...)
Arguments
Argument | Description |
---|---|
mapping | aes mapping |
data | data |
position | position |
na.rm | logical |
show.legend | logical |
inherit.aes | logical |
... | addktional parameter |
Value
tip point layer
Author
Guangchuang Yu
geom_tree()
geom_tree
Description
add tree layer
Usage
geom_tree(mapping = NULL, data = NULL, layout = "rectangular",
multiPhylo = FALSE, ...)
Arguments
Argument | Description |
---|---|
mapping | aesthetic mapping |
data | data |
layout | one of 'rectangular', 'slanted', 'fan', 'circular', 'radial', 'equal_angle' or 'daylight' |
multiPhylo | logical |
... | additional parameter |
Value
tree layer
Author
Yu Guangchuang
geom_tree2()
geom_tree2
Description
add tree layer
Usage
geom_tree2(layout = "rectangular", ...)
Arguments
Argument | Description |
---|---|
layout | one of 'rectangular', 'slanted', 'circular', 'radial' or 'unrooted' |
... | additional parameter |
Value
tree layer
Author
Yu Guangchuang
geom_treescale()
geom_treescale
Description
add tree scale
Usage
geom_treescale(x = NULL, y = NULL, width = NULL, offset = NULL,
color = "black", linesize = 0.5, fontsize = 3.88,
family = "sans")
Arguments
Argument | Description |
---|---|
x | x position |
y | y position |
width | width of scale |
offset | offset of text to line |
color | color |
linesize | size of line |
fontsize | size of text |
family | sans by default, can be any supported font |
Value
ggplot layers
Author
Guangchuang Yu
getNodeAngledf()
getNodeAngle.df
Description
Get the angle between the two nodes specified.
Usage
getNodeAngle.df(df, origin_node_id, node_id)
Arguments
Argument | Description |
---|---|
df | tree data.frame |
origin_node_id | origin node id number |
node_id | end node id number |
Value
angle in range [-1, 1], i.e. degrees/180, radians/pi
getNodesBreadthFirstdf()
getNodesBreadthFirst.df
Description
Get the nodes of tree from root in breadth-first order.
Usage
getNodesBreadthFirst.df(df)
Arguments
Argument | Description |
---|---|
df | tree data.frame |
Value
list of node id's in breadth-first order.
getSubtree()
getSubtree
Description
Get all children of node from tree, including start_node.
Usage
getSubtree(tree, node)
Arguments
Argument | Description |
---|---|
tree | ape phylo tree object |
node | is the tree node id from which the tree is derived. |
Value
list of all child node id's from starting node.
getSubtreeUnrooted()
getSubtreeUnrooted
Description
Get all subtrees of specified node. This includes all ancestors and relatives of node and return named list of subtrees.
Usage
getSubtreeUnrooted(tree, node)
Arguments
Argument | Description |
---|---|
tree | ape phylo tree object |
node | is the tree node id from which the subtrees are derived. |
Value
named list of subtrees with the root id of subtree and list of node id's making up subtree.
getSubtreeUnrooteddf()
getSubtreeUnrooted
Description
Get all subtrees of node, as well as remaining branches of parent (ie, rest of tree structure as subtree) return named list of subtrees with list name as starting node id.
Usage
getSubtreeUnrooted.df(df, node)
Arguments
Argument | Description |
---|---|
df | tree data.frame |
node | is the tree node id from which the subtrees are derived. |
Value
named list of subtrees with the root id of subtree and list of node id's making up subtree.
getSubtreedf()
getSubtree.df
Description
Get all children of node from df tree using breath-first.
Usage
getSubtree.df(df, node)
Arguments
Argument | Description |
---|---|
df | tree data.frame |
node | id of starting node. |
Value
list of all child node id's from starting node.
getTreeArcAngles()
getTreeArcAngles
Description
Find the right (clockwise rotation, angle from +ve x-axis to furthest subtree nodes) and left (anti-clockwise angle from +ve x-axis to subtree) Returning arc angle in [0, 2] (0 to 360) domain.
Usage
getTreeArcAngles(df, origin_id, subtree)
Arguments
Argument | Description |
---|---|
df | tree data.frame |
origin_id | node id from which to calculate left and right hand angles of subtree. |
subtree | named list of root id of subtree (node) and list of node ids for given subtree (subtree). |
Value
named list with right and left angles in range [0,2] i.e 1 = 180 degrees, 1.5 = 270 degrees.
get_balance_position()
get_balance_position
Description
get position of balance (xmin, xmax, ymin, ymax)
Usage
get_balance_position(treeview, node, direction)
Arguments
Argument | Description |
---|---|
treeview | tree view |
node | selected node |
direction | either (1 for 'up' or 2 for 'down') |
Value
data.frame
Author
Justin Silverman
get_clade_position()
get_clade_position
Description
get position of clade (xmin, xmax, ymin, ymax)
Usage
get_clade_position(treeview, node)
Arguments
Argument | Description |
---|---|
treeview | tree view |
node | selected node |
Value
data.frame
Author
Guangchuang Yu
get_heatmap_column_position()
get_heatmap_column_position
Description
return a data.frame that contains position information
for labeling column names of heatmap produced by gheatmap
function
Usage
get_heatmap_column_position(treeview, by = "bottom")
Arguments
Argument | Description |
---|---|
treeview | output of gheatmap |
by | one of 'bottom' or 'top' |
Value
data.frame
Author
Guangchuang Yu
get_taxa_name()
get_taxa_name
Description
get taxa name of a selected node (or tree if node=NULL) sorted by their position in plotting
Usage
get_taxa_name(tree_view = NULL, node = NULL)
Arguments
Argument | Description |
---|---|
tree_view | tree view |
node | node |
Value
taxa name vector
Author
Guangchuang Yu
getpath()
get.path
Description
path from start node to end node
Usage
get.path(phylo, from, to)
Arguments
Argument | Description |
---|---|
phylo | phylo object |
from | start node |
to | end node |
Value
node vectot
Author
Guangchuang Yu
ggtree()
visualizing phylogenetic tree and heterogenous associated data based on grammar of graphics
ggtree
provides functions for visualizing phylogenetic tree and its associated data in R.
Description
If you use ggtree in published research, please cite: Guangchuang Yu, David Smith, Huachen Zhu, Yi Guan, Tommy Tsan-Yuk Lam. ggtree: an R package for visualization and annotation of phylogenetic trees with their covariates and other associated data. Methods in Ecology and Evolution 2017, 8(1):28-36, doi:10.1111/2041-210X.12628
drawing phylogenetic tree from phylo object
Usage
ggtree(tr, mapping = NULL, layout = "rectangular", open.angle = 0,
mrsd = NULL, as.Date = FALSE, yscale = "none",
yscale_mapping = NULL, ladderize = TRUE, right = FALSE,
branch.length = "branch.length", ...)
Arguments
Argument | Description |
---|---|
tr | phylo object |
mapping | aesthetic mapping |
layout | one of 'rectangular', 'slanted', 'fan', 'circular', 'radial', 'equal_angle' or 'daylight' |
open.angle | open angle, only for 'fan' layout |
mrsd | most recent sampling date |
as.Date | logical whether using Date class in time tree |
yscale | y scale |
yscale_mapping | yscale mapping for category variable |
ladderize | logical (default TRUE ). Should the tree be re-organized to have a 'ladder' aspect? |
right | logical. If ladderize = TRUE , should the ladder have the smallest clade on the right-hand side? See ladderize for more information. |
branch.length | variable for scaling branch, if 'none' draw cladogram |
... | additional parameter |
Value
tree
Seealso
Author
Yu Guangchuang
Examples
require(ape)
tr <- rtree(10)
ggtree(tr)
ggtree_ggproto()
StatBalance
Description
StatBalance
StatHilight
GeomHilight
gheatmap()
gheatmap
Description
append a heatmap of a matrix to right side of phylogenetic tree
Usage
gheatmap(p, data, offset = 0, width = 1, low = "green",
high = "red", color = "white", colnames = TRUE,
colnames_position = "bottom", colnames_angle = 0,
colnames_level = NULL, colnames_offset_x = 0,
colnames_offset_y = 0, font.size = 4, hjust = 0.5)
Arguments
Argument | Description |
---|---|
p | tree view |
data | matrix or data.frame |
offset | offset of heatmap to tree |
width | total width of heatmap, compare to width of tree |
low | color of lowest value |
high | color of highest value |
color | color of heatmap cell border |
colnames | logical, add matrix colnames or not |
colnames_position | one of 'bottom' or 'top' |
colnames_angle | angle of column names |
colnames_level | levels of colnames |
colnames_offset_x | x offset for column names |
colnames_offset_y | y offset for column names |
font.size | font size of matrix colnames |
hjust | hjust for column names (0: align left, 0.5: align center, 1: align righ) |
Value
tree view
Author
Guangchuang Yu
gzoom_methods()
gzoom method
Description
gzoom method
gzoom method
zoom selected subtree
Usage
gzoom(object, focus, subtree = FALSE, widths = c(0.3, 0.7), ...)
list(list("gzoom"), list("ggtree"))(object, focus, widths = c(0.3, 0.7),
xmax_adjust = 0)
list(list("gzoom"), list("treedata"))(object, focus, subtree = FALSE,
widths = c(0.3, 0.7))
list(list("gzoom"), list("phylo"))(object, focus, subtree = FALSE, widths = c(0.3,
0.7))
Arguments
Argument | Description |
---|---|
object | supported tree objects |
focus | selected tips |
subtree | logical |
widths | widths |
... | additional parameter |
xmax_adjust | adjust xmax (xlim[2]) |
Value
figure
gzoomphylo()
gzoom
Description
plots simultaneously a whole phylogenetic tree and a portion of it.
Usage
gzoom.phylo(phy, focus, subtree = FALSE, widths = c(0.3, 0.7))
Arguments
Argument | Description |
---|---|
phy | phylo object |
focus | selected tips |
subtree | logical |
widths | widths |
Value
a list of ggplot object
Author
ygc
Examples
require(ape)
data(chiroptera)
gzoom(chiroptera, grep("Plecotus", chiroptera$tip.label))
identify()
identify
Description
identify node by interactive click
Usage
list(list("identify"), list("gg"))(x, ...)
Arguments
Argument | Description |
---|---|
x | tree view |
... | additional parameters |
Value
node id
Author
Guangchuang Yu
inset()
inset
Description
add insets in a tree
Usage
inset(tree_view, insets, width, height, hjust = 0, vjust = 0,
x = "node", reverse_x = FALSE, reverse_y = FALSE)
Arguments
Argument | Description |
---|---|
tree_view | tree view |
insets | a list of ggplot objects, named by node number |
width | width of inset |
height | height of inset |
hjust | horizontal adjustment |
vjust | vertical adjustment |
x | x position, one of 'node' and 'branch' |
reverse_x | whether x axis was reversed by scale_x_reverse |
reverse_y | whether y axis was reversed by scale_y_reverse |
Value
tree view with insets
Author
Guangchuang Yu
layoutDaylight()
Equal daylight layout method for unrooted trees.
Description
#' @title
Usage
layoutDaylight(model, branch.length, MAX_COUNT = 5)
Arguments
Argument | Description |
---|---|
model | tree object, e.g. phylo or treedata |
branch.length | set to 'none' for edge length of 1. Otherwise the phylogenetic tree edge length is used. |
MAX_COUNT | the maximum number of iterations to run (default 5) |
Value
tree as data.frame with equal angle layout.
References
The following aglorithm aims to implement the vague description of the "Equal-daylight Algorithm" in "Inferring Phylogenies" pp 582-584 by Joseph Felsenstein.
Leafs are subtrees with no children
Initialise tree using equal angle algorithm
tree_df = equal_angle(tree)
nodes = get list of nodes in tree_df breadth-first
nodes = remove tip nodes.
layoutEqualAngle()
layoutEqualAngle
Description
'Equal-angle layout algorithm for unrooted trees'
Usage
layoutEqualAngle(model, branch.length)
Arguments
Argument | Description |
---|---|
model | tree object, e.g. phylo or treedata |
branch.length | set to 'none' for edge length of 1. Otherwise the phylogenetic tree edge length is used. |
Value
tree as data.frame with equal angle layout.
References
"Inferring Phylogenies" by Joseph Felsenstein.
msaplot()
msaplot
Description
multiple sequence alignment with phylogenetic tree
Usage
msaplot(p, fasta, offset = 0, width = 1, color = NULL,
window = NULL, bg_line = TRUE, height = 0.8)
Arguments
Argument | Description |
---|---|
p | tree view |
fasta | fasta file, multiple sequence alignment |
offset | offset of MSA to tree |
width | total width of alignment, compare to width of tree |
color | color |
window | specific a slice to display |
bg_line | whether add background line in alignment |
height | height ratio of sequence |
Value
tree view
Author
Guangchuang Yu
multiplot()
multiplot
Description
plot multiple ggplot objects in one page
Usage
multiplot(..., plotlist = NULL, ncol, widths = rep_len(1, ncol),
labels = NULL, label_size = 5)
Arguments
Argument | Description |
---|---|
... | plots |
plotlist | plot list |
ncol | number of column |
widths | widths of plots |
labels | labels for labeling the plots |
label_size | font size of label |
Value
plot
Author
Guangchuang Yu
nodebar()
nodebar
Description
generate a list of bar charts for results of ancestral state reconstruction
Usage
nodebar(data, cols, color, alpha = 1, position = "stack")
Arguments
Argument | Description |
---|---|
data | a data.frame of stats with an additional column of node number |
cols | column of stats |
color | color of bar |
alpha | alpha |
position | position of bar, one of 'stack' and 'dodge' |
Value
list of ggplot objects
Author
Guangchuang Yu
nodeid()
nodeid
Description
convert tip or node label(s) to internal node number
Usage
nodeid(x, label)
Arguments
Argument | Description |
---|---|
x | tree object or graphic object return by ggtree |
label | tip or node label(s) |
Value
internal node number
Author
Guangchuang Yu
nodepie()
nodepie
Description
generate a list of pie charts for results of ancestral stat reconstruction
Usage
nodepie(data, cols, color, alpha = 1)
Arguments
Argument | Description |
---|---|
data | a data.frame of stats with an additional column of node number |
cols | column of stats |
color | color of bar |
alpha | alpha |
Value
list of ggplot objects
Author
Guangchuang Yu
open_tree()
open_tree
Description
open tree with specific angle
Usage
open_tree(treeview, angle)
Arguments
Argument | Description |
---|---|
treeview | tree view |
angle | angle |
Value
updated tree view
Author
Guangchuang Yu
phylopic()
phylopic
Description
add phylopic layer
Usage
phylopic(tree_view, phylopic_id, size = 512, color = "black",
alpha = 0.5, node = NULL, x = NULL, y = NULL, width = 0.1)
Arguments
Argument | Description |
---|---|
tree_view | tree view |
phylopic_id | phylopic id |
size | size of phylopic to download |
color | color |
alpha | alpha |
node | selected node |
x | x position |
y | y position |
width | width of phylopic |
Value
phylopic layer
Author
Guangchuang Yu
range_format()
range_format
Description
format a list of range (HPD, CI, etc that has length of 2)
Usage
range_format(x, trans = NULL)
Arguments
Argument | Description |
---|---|
x | input list |
trans | transformation function |
Value
character vector of '[lower, upper]'
Author
Guangchuang Yu
reexports()
Objects exported from other packages
Description
These objects are imported from other packages. Follow the links below to see their documentation.
list(" ", " ", list(list("ape"), list(list(list("rtree")), ", ", list(list("read.tree")), ", ", list(list("read.nexus")))), " ", " ", " ", list(list("dplyr"), list(list(list("collapse")))), " ", " ", " ", list(list("ggplot2"), list(list(list("fortify")), ", ", list(list("ggplot")), ", ", list(list("xlim")), ", ", list(list("theme")), ", ", list(list("ggsave")), ", ", list(list("aes")), ", ", list(list("fortify")), ", ", list(list("geom_text")), ", ", list(list("geom_label")), ", ", list(list(
"geom_point")))), "
", " ", " ", list(list("magrittr"), list(list(list("%>%")))), " ", " ", " ", list(list("tidytree"), list(list(list("groupOTU")), ", ", list(list("groupClade")))), " ", " ", " ", list(list("treeio"), list(list(list("read.astral")), ", ", list(list("read.beast")), ", ", list(list("read.codeml")), ", ", list(list("read.codeml_mlc")), ", ", list(list("read.hyphy")), ", ", list(list("read.iqtree")), ", ", list(list("read.jplace")), ", ", list(list("read.jtree")), ", ",
list(list("read.mrbayes")), ", ", list(list("read.newick")), ", ", list(list("read.nhx")), ", ", list(list("read.paml_rst")), ", ", list(list("read.phylip")), ", ", list(list("read.phyloT")), ", ", list(list("read.r8s")), ", ", list(list("read.raxml")))), "
")
revts()
revts
Description
reverse timescle x-axis
Usage
revts(treeview)
Arguments
Argument | Description |
---|---|
treeview | treeview |
Value
updated treeview
Author
guangchuang yu
rotate()
rotate
Description
rotate 180 degree of a selected branch
Usage
rotate(tree_view = NULL, node)
Arguments
Argument | Description |
---|---|
tree_view | tree view |
node | selected node |
Value
ggplot2 object
Author
Guangchuang Yu
rotateTreePointsdf()
rotateTreePoints.data.fram
Description
Rotate the points in a tree data.frame around a pivot node by the angle specified.
Usage
rotateTreePoints.df(df, pivot_node, nodes, angle)
Arguments
Argument | Description |
---|---|
df | tree data.frame |
pivot_node | is the id of the pivot node. |
nodes | list of node numbers that are to be rotated by angle around the pivot_node |
angle | in range [0,2], ie degrees/180, radians/pi |
Value
updated tree data.frame with points rotated by angle
rotate_tree()
rotate_tree
Description
rotate circular tree
Usage
rotate_tree(treeview, angle)
Arguments
Argument | Description |
---|---|
treeview | tree view |
angle | angle |
Value
updated tree view
Author
Guangchuang Yu
scaleClade()
scaleClade
Description
scale clade
Usage
scaleClade(tree_view = NULL, node, scale = 1, vertical_only = TRUE)
Arguments
Argument | Description |
---|---|
tree_view | tree view |
node | clade node |
scale | scale |
vertical_only | logical. If TRUE, only vertical will be scaled. If FALSE, the clade will be scaled vertical and horizontally. TRUE by default. |
Value
tree view
Author
Guangchuang Yu
scale_color_methods()
scale_color method
Description
scale_color method
scale color by a numerical tree attribute
Usage
scale_color(object, by, ...)
list(list("scale_color"), list("treedata"))(object, by, ...)
list(list("scale_color"), list("phylo"))(object, by, ...)
Arguments
Argument | Description |
---|---|
object | treedata object |
by | one of numerical attributes |
... | additional parameter |
Value
color vector
scale_x_ggtree()
scale_x_ggtree
Description
scale x for tree with heatmap
Usage
scale_x_ggtree(tree_view, breaks = NULL, labels = NULL)
Arguments
Argument | Description |
---|---|
tree_view | tree view |
breaks | breaks for tree |
labels | lables for corresponding breaks |
Value
tree view
Author
Guangchuang Yu
set_hilight_legend()
set_hilight_legend
Description
set legend for multiple geom_hilight layers
Usage
set_hilight_legend(p, color, label, alpha = 1)
Arguments
Argument | Description |
---|---|
p | ggtree object |
color | color vector |
label | label vector |
alpha | transparency of color |
Value
updated ggtree object
Author
Guangchuang Yu
stat_balance()
stat_balance
Description
stat_balance
Usage
stat_balance(mapping = NULL, data = NULL, geom = "rect",
position = "identity", node, show.legend = NA, inherit.aes = FALSE,
fill, color, alpha, extend = 0, extendto = NULL, ...)
Arguments
Argument | Description |
---|---|
mapping | aes mapping |
data | data |
geom | geometric object |
position | position |
node | node number |
show.legend | show legend |
inherit.aes | logical |
fill | fill color |
color | color to outline highlights and divide balance |
alpha | transparency |
extend | extend xmax of the rectangle |
extendto | extend xmax to extendto |
... | additional parameter |
Value
layer
stat_hilight()
stat_hilight
Description
stat_hilight
Usage
stat_hilight(mapping = NULL, data = NULL, geom = "rect",
position = "identity", node, show.legend = NA, inherit.aes = FALSE,
fill, alpha, extend = 0, extendto = NULL, ...)
Arguments
Argument | Description |
---|---|
mapping | aes mapping |
data | data |
geom | geometric object |
position | position |
node | node number |
show.legend | show legend |
inherit.aes | logical |
fill | fill color |
alpha | transparency |
extend | extend xmax of the rectangle |
extendto | extend xmax to extendto |
... | additional parameter |
Value
layer
subview()
subview
Description
add subview to mainview for ggplot2 objects
Usage
subview(mainview, subview, x, y, width = 0.1, height = 0.1)
Arguments
Argument | Description |
---|---|
mainview | main view |
subview | a ggplot or grob object |
x | x position |
y | y position |
width | width of subview, [0,1] |
height | height of subview, [0,1] |
Value
ggplot object
Author
Guangchuang Yu
theme_inset()
theme_inset
Description
inset theme
Usage
theme_inset(...)
Arguments
Argument | Description |
---|---|
... | additional parameter |
Details
theme for inset function
Value
ggplot object
Author
Guangchuang Yu
theme_tree()
theme_tree
Description
tree theme
Usage
theme_tree(bgcolor = "white", fgcolor = "black", ...)
Arguments
Argument | Description |
---|---|
bgcolor | background color |
fgcolor | foreground color |
... | additional parameter |
Value
updated ggplot object with new theme
Author
Yu Guangchuang
Examples
require(ape)
tr <- rtree(10)
ggtree(tr) + theme_tree()
theme_tree2()
theme_tree2
Description
tree2 theme
Usage
theme_tree2(bgcolor = "white", fgcolor = "black", ...)
Arguments
Argument | Description |
---|---|
bgcolor | background color |
fgcolor | foreground color |
... | additional parameter |
Value
updated ggplot object with new theme
Author
Yu Guangchuang
Examples
require(ape)
tr <- rtree(10)
ggtree(tr) + theme_tree2()
update_TREE()
%<%
Description
update tree
Usage
pg %<% x
Arguments
Argument | Description |
---|---|
pg | ggplot2 object |
x | update by x |
Value
updated ggplot object
Author
Guangchuang Yu
Examples
library("ggplot2")
nwk <- system.file("extdata", "sample.nwk", package="treeio")
tree <- read.tree(nwk)
p <- ggtree(tree) + geom_tippoint(color="#b5e521", alpha=1/4, size=10)
p %<% rtree(30)
viewClade()
viewClade
Description
view a clade of tree
Usage
viewClade(tree_view = NULL, node, xmax_adjust = 0)
Arguments
Argument | Description |
---|---|
tree_view | full tree view |
node | internal node number |
xmax_adjust | adjust xmax |
Value
clade plot
Author
Guangchuang Yu
xlim_expand()
xlim_expand
Description
expand x axis limits for specific panel
Usage
xlim_expand(xlim, panel)
Arguments
Argument | Description |
---|---|
xlim | xlim |
panel | panel |
Value
updated tree view
Author
guangchuang yu
xlim_tree()
xlim_tree
Description
set x axis limits for Tree panel
Usage
xlim_tree(xlim)
Arguments
Argument | Description |
---|---|
xlim | xlim |
Value
updated tree view
Author
guangchuang yu