zenplots
Zigzag Expanded Navigation Plots
Graphical tools for visualizing high-dimensional data along a path of alternating one- and two-dimensional plots. Includes optional interactive graphics via 'loon' (which uses 'tcltk' from base R). Support is provided for constructing graph structures and, when available, plotting them with Bioconductor packages (e.g., 'graph', 'Rgraphviz'); these are optional and examples/vignettes are skipped if they are not installed. For algorithms and further details, see <doi:10.18637/jss.v095.i04>.
README
# zenplots
[](https://cran.r-project.org/package=zenplots)
[](https://cran.r-project.org/package=zenplots)
[](https://cran.r-project.org/package=zenplots)
## Plotting paths to data enlightenment
<p align="center">
<img src="man/figures/logo.png" width="400" alt="zenplots logo">
</p>
The package zenplots (**z**igzag
**e**xpanded **n**avigation **plots**) displays high-dimensional data by laying 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.
High dimensional 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))](https://doi.org/10.1016/j.ecosta.2017.03.007) for an application to S&P 500 constituent data
or [Hofert et al (2019)](https://doi.org/10.1016/j.jmva.2019.02.012) for application to visualizing dependence between two sets of variates.
See [Hofert and Oldford (2020)](https://doi.org/10.18637/jss.v095.i04) for algorithms.
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, the `grid` package (and hence packages like `ggplot2`), and the interactive graphical package `loon`.
`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 two-dimensional plot functions; predefined functions are exported for all graphical systems.
Try it.
**Become one with your data!**
### Note
Since **zenplots** relies on the `graph` package from Bioconductor, and optionally also `Rgraphviz` to plot any graph structures, it might be simplest to install it using Bioconductor:
```r
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("zenplots")
```
Versions across snapshots
| Version | Repository | File | Size |
|---|---|---|---|
1.0.7 |
rolling linux/jammy R-4.5 | zenplots_1.0.7.tar.gz |
2.4 MiB |
1.0.7 |
rolling linux/noble R-4.5 | zenplots_1.0.7.tar.gz |
2.4 MiB |
1.0.7 |
rolling source/ R- | zenplots_1.0.7.tar.gz |
2.4 MiB |
1.0.7 |
latest linux/jammy R-4.5 | zenplots_1.0.7.tar.gz |
2.4 MiB |
1.0.7 |
latest linux/noble R-4.5 | zenplots_1.0.7.tar.gz |
2.4 MiB |
1.0.7 |
latest source/ R- | zenplots_1.0.7.tar.gz |
2.4 MiB |
1.0.7 |
2026-04-26 source/ R- | zenplots_1.0.7.tar.gz |
2.4 MiB |
1.0.7 |
2026-04-23 source/ R- | zenplots_1.0.7.tar.gz |
2.4 MiB |
1.0.6 |
2025-04-20 source/ R- | zenplots_1.0.6.tar.gz |
2.2 MiB |