Learn R Programming

XGR (version 1.1.7)

xCtree: Function to draw a tree-like circular plot

Description

xCtree is supposed to draw a tree-like circular plot (dendrogram circular layout), with tips labelled (outwards or inwards). The tree is provided as an object of class "igraph".

Usage

xCtree(
ig,
leave.label.orientation = c("outwards", "inwards"),
leave.label.size = 2,
leave.label.color = "steelblue",
leave.label.alpha = 0.7,
leave.label.wrap = NULL,
leave.label.expansion = NULL,
leave.size = 0,
limit.expansion = 1.1,
edge.color = "grey",
edge.alpha = 0.5,
edge.width = 0.5
)

Arguments

ig

an object of class "igraph" with node attribute 'name'. It could be a 'phylo' object converted to. Note: the leave labels would be the node attribute 'name' unless the node attribute 'label' is explicitely provided

leave.label.orientation

the leave label orientation. It can be "outwards" and "inwards"

leave.label.size

the text size of the leave labelings. By default, it is 2

leave.label.color

the color of the leave labelings

leave.label.alpha

the alpha of the leave labelings

leave.label.wrap

the wrap width of the leave labelings

leave.label.expansion

the x- and y-expansion of the leave labelings. The value of 1 for the exact location of the leave, and the outwards (>1; by default 1.05 if NULL) and the inwards (<1; by default 0.98 if NULL)

leave.size

the size of the leave nodes. By default, it is 0

limit.expansion

the x- and y-limit expansion. By default, it is 1.1. Beware the orignial limit is [-1,1]

edge.color

the color of edges

edge.alpha

the alpha of edges

edge.width

the width of edges

Value

a ggplot2 object appended with 'ig' and 'data' which should contain columns 'x','y', 'leaf' (T/F), 'name' (the same as V(ig)$name), 'tipid' (tip id), 'label' (if not given in ig, a 'name' varient), 'angle' and 'hjust' (assist in leave label orientation).

See Also

xCtree

Examples

Run this code
# NOT RUN {
library(XGR)
RData.location <- "http://galahad.well.ox.ac.uk/bigdata"

AA.template <- xRDataLoader("AA.template",
RData.location=RData.location)
# consensus tree
ig <- AA.template$consensus$ig

# outwards
gp <- xCtree(ig, leave.label.orientation="outwards",
leave.label.wrap=50, limit.expansion=1.5, leave.size=2)
head(gp$data %>% dplyr::arrange(tipid))

# inwards
gp <- xCtree(ig, leave.label.orientation="inwards",
leave.label.wrap=30)

# obtain 'xcoord' and 'ycoord'
gp <- ggraph::ggraph(ig, layout='dendrogram', circular=TRUE)
data <- gp$data %>% dplyr::arrange(ggraph.orig_index)
V(ig)$xcoord <- data[,'x']
V(ig)$ycoord <- data[,'y']
# }

Run the code above in your browser using DataLab