| skylineplot {ape} | R Documentation |
Drawing Skyline Plot Graphs
Description
These functions provide various ways to draw skyline plot graphs
on the current graphical device. Note that skylineplot(z, ...) is simply
a shortcut for plot(skyline(z, ...)).
The skyline plot itself is an estimate of effective population size through time,
and is computed using the function skyline.
Usage
## S3 method for class 'skyline'
plot(x, show.years=FALSE, subst.rate, present.year, ...)
## S3 method for class 'skyline'
lines(x, show.years=FALSE, subst.rate, present.year, ...)
skylineplot(z, ...)
skylineplot.deluxe(tree, ...)
Arguments
x |
skyline plot data (i.e. an object of class |
z |
Either an ultrametric tree (i.e. an object of class |
tree |
ultrametric tree (i.e. an object of class |
show.years |
option that determines whether the time is plotted in units of of substitutions (default) or in years (requires specification of substution rate and year of present). |
subst.rate |
substitution rate (see option show.years). |
present.year |
present year (see option show.years). |
... |
further arguments to be passed on to |
Details
See skyline for more details (incl. references) about the skyline plot method.
Author(s)
Korbinian Strimmer
See Also
plot and lines for the basic plotting
function in R, coalescent.intervals, skyline
Examples
# get tree
data("hivtree.newick") # example tree in NH format
tree.hiv <- read.tree(text = hivtree.newick) # load tree
#### classic skyline plot
skylineplot(tree.hiv) # shortcut
#### plot classic and generalized skyline plots and estimate epsilon
sk.opt <- skylineplot.deluxe(tree.hiv)
sk.opt$epsilon
#### classic and generalized skyline plot ####
sk1 <- skyline(tree.hiv)
sk2 <- skyline(tree.hiv, 0.0119)
# use years rather than substitutions as unit for the time axis
plot(sk1, show.years=TRUE, subst.rate=0.0023, present.year = 1997, col=c(grey(.8),1))
lines(sk2, show.years=TRUE, subst.rate=0.0023, present.year = 1997)
legend(.15,500, c("classic", "generalized"), col=c(grey(.8),1),lty=1)
#### various skyline plots for different epsilons
layout(mat= matrix(1:6,2,3,byrow=TRUE))
ci <- coalescent.intervals(tree.hiv)
plot(skyline(ci, 0.0));title(main="0.0")
plot(skyline(ci, 0.007));title(main="0.007")
plot(skyline(ci, 0.0119),col=4);title(main="0.0119")
plot(skyline(ci, 0.02));title(main="0.02")
plot(skyline(ci, 0.05));title(main="0.05")
plot(skyline(ci, 0.1));title(main="0.1")
layout(mat= matrix(1:1,1,1,byrow=TRUE))