Main Article Content
We describe the features and implementation of the R package zenplots (zigzag expanded navigation plots) for displaying high-dimensional data according to the recently proposed zenplots. By default, zenplots lay out alternating one- and two-dimensional plots in a zigzag-like pattern where adjacent axes share the same variate. Zenplots are especially useful when subsets of pairs can be identified as of particular interest by some measure, or as not meaningfully comparable, or when pairs of variates can be ordered in terms of potential interest to view, or the number of pairs is too large for more traditional layouts such as a scatterplot matrix. They also allow an essentially arbitrary layout of plots. A highdimensional space can be explored in a zenplot (zenplot()) by navigating through lower dimensional subspaces along a zenpath (zenpath()) which orders the dimensions (i.e., variates) visited according to some measure of interestingness; see Hofert and Oldford (2018) for an application to S&P 500 constituent data. The R package zenplots provides compact displays for high-dimensional data via the notion of zenplots, grouping of variates, and customizable displays of zigzag layouts. It accommodates different graphical systems including the base graphics package of R Core Team (2020b), the package grid of R Core Team (2020a) (and hence packages like ggplot2 of Wickham et al. 2020), and the interactive graphical package loon of Waddell and Oldford (2020). zenplots handles groups of variates, partial and fully missing data, and more. One important feature is that zenplot() and its auxiliary functions in zenplots distinguish layout from plotting which allows one to freely choose and create one- and twodimensional plot functions; predefined functions are exported for all graphical systems. All R plots in this paper are reproducible with the vignette "selected_features" (available in zenplots ≥ 0.0-2).