**YGC » R**, and kindly contributed to R-bloggers)

Subsetting is commonly used in ggtree as we would like to for example separating internal nodes from tips. We may also want to display annotation to specific node(s)/tip(s).

Some software may stored clade information (e.g. bootstrap value) as internal node labels. Indeed we want to manipulate such information and taxa labels separately.

In current ggplot2 (version=1.0.1, access date:2015-09-23), it support *subset*. For instance:

^{?}View Code RSPLUS

1 2 3 4 |
library(ggplot2) library(ggtree) tree=read.tree(text="((A:2,B:2)95:2,(C:2,D:2)100:2);") ggtree(tree) + geom_text(aes(label=label), subset=.(!isTip), hjust=-.2) |

But this feature was removed in github version of ggplot2 and will not be available in next release.

In github version of ggtree, we implemented geom_text2, geom_point2, and geom_segment2, that works exactly like geom_text, geom_point and geom_segment respectively with *subset* supported. The syntax is slightly different.

^{?}View Code RSPLUS

1 2 |
ggtree(tree) + geom_text2(aes(label=label, subset=!isTip), hjust=-.2) + geom_point2(aes(subset=!isTip), color="red", size=3) |

Note: The example was from the discussion of github issue.

#### Related Posts

**leave a comment**for the author, please follow the link and comment on their blog:

**YGC » R**.

R-bloggers.com offers

**daily e-mail updates**about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...