geom-hilight: geom_hilight

geom_hilightR Documentation

geom_hilight

Description

layer of hilight clade

Usage

geom_hilight(
  data = NULL,
  mapping = NULL,
  node = NULL,
  type = "auto",
  to.bottom = FALSE,
  ...
)

geom_highlight(
  data = NULL,
  mapping = NULL,
  node = NULL,
  type = "auto",
  to.bottom = FALSE,
  ...
)

Arguments

data

data.frame, The data to be displayed in this layer, defaults to NULL.

mapping

Set of aesthetic mappings, defaults to NULL.

node

selected node to hilight, when data and mapping is NULL, it is required.

type

the type of layer, defaults to auto, meaning rectangular, circular, slanted, fan, inward_circular, radial, equal_angle, ape layout tree will use rectangular layer, unrooted and daylight layout tree use will use encircle layer. You can specify this parameter to rect (rectangular layer) or encircle (encircle layer), 'gradient' (gradient color), 'roundrect' (round rectangular layer).

to.bottom

logical, whether set the high light layer to the bottom in all layers of 'ggtree' object, default is FALSE.

...

additional parameters, see also the below and Aesthetics section.

  • align control the align direction of the edge of high light rectangular. Options is 'none' (default), 'left', 'right', 'both'. This argument only work when the 'geom_hilight' is plotting using geom_hilight(mapping=aes(...)).

  • gradient.direction character, the direction of gradient color, defaults to 'rt' meaning the locations of gradient color is from root to tip, options are 'rt' and 'tr'.

  • gradient.length.out integer, desired length of the sequence of gradient color, defaults to 2.

  • roundrect.r numeric, the radius of the rounded corners, when roundrect=TRUE, defaults to 0.05.

Details

geom_hilight supports data.frame as input. And aesthetics of layer can be mapped. you can see the Aesthetics section to set parameters.

Value

a list object.

Aesthetics

geom_hilight() understands the following aesthetics for rectangular layer (required aesthetics are in bold):

  • node selected node to hight light, it is required.

  • colour the colour of margin, defaults to NA.

  • fill the colour of fill, defaults to 'steelblue'.

  • alpha the transparency of fill, defaults to 0.5.

  • extend extend xmax of the rectangle, defaults to 0.

  • extendto specify a value, meaning the rectangle extend to, defaults to NULL.

  • linetype the line type of margin, defaults to 1.

  • linewidth the width of line of margin, defaults to 0.5.

geom_hilight() understands the following aesthethics for encircle layer (required aesthetics are in bold):

  • node selected node to hight light, it is required.

  • colour the colour of margin, defaults to 'black'.

  • fill the colour of fill, defaults to 'steelblue'.

  • alpha the transparency of fill, defaults to 0.5.

  • expand expands the xspline clade region, defaults to 0.

  • spread control the size, when only one point.

  • linewidth the width of line of margin, defaults to 0.5.

  • linetype the line type of margin, defaults to 1.

  • s_shape the shape of the spline relative to the control points, defaults to 0.5.

  • s_open whether the spline is a line or a closed shape, defaults to FALSE.

Author(s)

Guangchuang Yu and Shuangbin Xu

References

For more detailed demonstration, please refer to chapter 5.2.2 of Data Integration, Manipulation and Visualization of Phylogenetic Trees http://yulab-smu.top/treedata-book/index.html by Guangchuang Yu.

Examples

library(ggplot2)
set.seed(102)
tree <- rtree(60)
p <- ggtree(tree)
p1 <- p + geom_hilight(node=62) + geom_hilight(node=88, fill="red")
p1
dat <- data.frame(id=c(62, 88), type=c("A", "B"))
p2 <- p + geom_hilight(data=dat, mapping=aes(node=id, fill=type))
p2
p3 <- p + geom_hilight(data=dat, mapping=aes(node=id, fill=type), align="left")
p4 <- p + geom_hilight(data=dat, mapping=aes(node=id, fill=type), align="right")
p5 <- p + geom_hilight(data=dat, mapping=aes(node=id, fill=type), align="both")
# display the high light layer with gradiental color rectangular.
p6 <- p + geom_hilight(data=dat, mapping=aes(node=id, fill=type), type = "gradient", alpha=0.68)
p7 <- p + geom_hilight(data=dat, mapping=aes(node=id, fill=type), 
                      type = "gradient", gradient.direction="tr", alpha=0.68)
# display the high light layer with round rectangular.
p8 <- p + geom_hilight(data=dat, mapping=aes(node=id, fill=type), type = "roundrect", alpha=0.68)
p2/ p3/ p4/ p5 / p6/ p7/ p8

YuLab-SMU/ggtree documentation built on May 15, 2024, 8:45 p.m.