spiralize

It visualizes data along an Archimedean spiral, makes so-called spiral graph or spiral chart. It has two major advantages for visualization: 1. It is able to visualize data with very long axis with high resolution. 2. It is efficient for time series data to reveal periodic patterns.

8
mentions
1
contributor

Cite this software

What spiralize can do for you

Visualize Data on Spirals

R-CMD-check
CRAN
CRAN

Features

The package spiralize visualizes data along an Archimedean spiral.
It has two major advantages for visualization:

  1. It is able to visualize data with very long axis with high resolution.
  2. It is efficient for time series data to reveal periodic patterns.

Documentation

https://jokergoo.github.io/spiralize/

Citation

Zuguang Gu, et al., spiralize: an R package for Visualizing Data on Spirals, Bioinformatics, 2021. https://doi.org/10.1093/bioinformatics/btab778

Install

The package is available on CRAN and can be installed by:

install.packages("spiralize")

If you want the latest version, install it directly from GitHub:

library(devtools)
install_github("jokergoo/spiralize")

Usage

It includes three steps:

  1. initialize the spiral,
  2. add a track,
  3. add graphics to the track.

Step 2 and 3 can be applied multiple times to allow multiple-track visualization along the spiral.

The code for making spiral plot looks likes follows:

library(spiralize)
spiral_initialize(...)
spiral_track(...)
spiral_points(...)
...

Graphics

Complex plots are baiscally constructed from simple graphics. Here there are following low-level graphics functions:

  • spiral_points()
  • spiral_lines()
  • spiral_rect()
  • spiral_segments()
  • spiral_polygon()
  • spiral_bars()
  • spiral_text()
  • spiral_axis()
  • spiral_yaxis()
  • spiral_raster()

Particularlly, horizon chart is very suitable to put on the spiral, thus there is one function for this:

  • spiral_horizon()

Spiral plot can also visualize dendrograms with large number of leaves, thus there are following two functions:

  • spiral_dendrogram()
  • spiral_phylo()

Examples

  1. Difference of ggplot2 daily downloads to the mean of the current year (2015-2021). Each loop contains 52 weeks so that same weeks in different years locate at the same angle in the polar coordinates.

  1. A phylogenetic life tree with 50645 species.

  1. The spiral COVID-19 Shiny app

License

MIT @ Zuguang Gu

Logo of spiralize
Keywords
Programming languages
  • R 92%
  • JavaScript 6%
  • CSS 2%
License
</>Source code
Packages
cran.r-project.org

Participating organisations

German Cancer Research Center

Reference papers

Mentions

Contributors