Manual Tours, Manual Control of Dynamic Projections of Numeric Multivariate Data

Data visualization tours animates linear projection of multivariate data as its basis (ie. orientation) changes. The 'spinifex' packages generates paths for manual tours by manipulating the contribution of a single variable at a time Cook & Buja (1997) . Other types of tours, such as grand (random walk) and guided (optimizing some objective function) are available in the 'tourr' package Wickham et al. . 'spinifex' builds on 'tourr' and can render tours with 'gganimate' and 'plotly' graphics, and allows for exporting as an .html widget and as an .gif, respectively. This work is fully discussed in Spyrison & Cook (2020) .

Travis build status


Tours are a class of dynamic linear projection techniques that extend the viewing (of data-space) for numeric multivariate data as the dimensionality increases.


Function that generate the path for manual tours. Tours are generally available in the tourr package. The grand tour is an algorithm that shows all possible projections given sufficient time. Guided uses projection pursuit to steer the tour towards interesting projections. The spinifex package implements manual control, where the contribution of a selected variable can be adjusted between -1 to 1, to examine the sensitivity of structure in the data to that variable. The result is an animation where the variable is toured into and out of the projection completely, which can be rendered using the 'gganimate' and 'plotly' packages.


You can install naniar from CRAN:


Or you can install the development version on github using remotes:


bug reports/requests

Please submit all bug reports, errors, and feature requests to


spinifex 0.1.0

Initial submission to CRAN.

Primary functions

  • play_tour_path()
  • play_manual_tour()

util functions

-view_basis() -view_manip_space()

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


0.3.1 by Nicholas Spyrison, 2 months ago

Report a bug at

Browse source code at

Authors: Nicholas Spyrison [aut, cre] , Dianne Cook [aut, ths]

Documentation:   PDF Manual  

CC BY-NC-SA 4.0 license

Imports ggplot2, gganimate, plotly, shiny, Rdimtools, transformr, magrittr

Depends on tourr

Suggests MASS, hexbin, htmlwidgets, gifski, png, dplyr, GGally, rmarkdown, knitr, testthat, lifecycle, covr, spelling

See at CRAN