--- title: "How to plot multiple nLTTs and their average" author: "Richel Bilderbeek" date: "`r Sys.Date()`" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{How to plot multiple nLTTs and their average} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- The `nLTT` package facilitates plotting one or more nLTT plots, using `nllt_plot` and `nllt_lines`. These functions, however, do not show the average nLTT plot. The function `nltts_plot` plots multiple nLTT plots and shows the average nLTT. This helps in getting a quick visualization of your data. For working with the raw values, `get_nltt_values` is preferably used. ### Example: Easy trees Create two easy trees: ```{r} newick1 <- "((A:1,B:1):2,C:3);" newick2 <- "((A:2,B:2):1,C:3);" phylogeny1 <- ape::read.tree(text = newick1) phylogeny2 <- ape::read.tree(text = newick2) ``` There are very similar. `phylogeny1` has short tips: ```{r} ape::plot.phylo(phylogeny1) ape::add.scale.bar() #nolint ``` This can be observed in the nLTT plot: ```{r} nLTT::nltt_plot(phylogeny1, ylim = c(0, 1)) ``` `phylogeny2` has longer tips: ```{r} ape::plot.phylo(phylogeny2) ape::add.scale.bar() #nolint ``` Also this can be observed in the nLTT plot: ```{r} nLTT::nltt_plot(phylogeny2, ylim = c(0, 1)) ``` The average nLTT plot should be somewhere in the middle. The same, now shown as a plot: ```{r} nLTT::nltts_plot(c(phylogeny1, phylogeny2), dt = 0.20, plot_nltts = TRUE) ``` ### Example: Harder trees Create two easy trees: ```{r} newick1 <- "((A:1,B:1):1,(C:1,D:1):1);" newick2 <- paste0("((((XD:1,ZD:1):1,CE:2):1,(FE:2,EE:2):1):4,((AE:1,BE:1):1,", "(WD:1,YD:1):1):5);" ) phylogeny1 <- ape::read.tree(text = newick1) phylogeny2 <- ape::read.tree(text = newick2) ``` There are different. `phylogeny1` is relatively simple, with two branching events happening at the same time: ```{r} ape::plot.phylo(phylogeny1) ape::add.scale.bar() #nolint ``` This can be observed in the nLTT plot: ```{r} nLTT::nltt_plot(phylogeny1, ylim = c(0, 1)) ``` `phylogeny2` is more elaborate: ```{r} ape::plot.phylo(phylogeny2) ape::add.scale.bar() #nolint ``` Also this can be observed in the nLTT plot: ```{r} nLTT::nltt_plot(phylogeny2, ylim = c(0, 1)) ``` The same, now shown as a plot: ```{r} nLTT::nltts_plot( c(phylogeny1, phylogeny2), dt = 0.20, plot_nltts = TRUE ) ```