canvasXpress: the same scientific figure in R, Python and JS from one grammar (wraps ggplot)

If you use ggplot2 or plotly in R and want the same figure to also live as a portable, reproducible spec: canvasXpress renders interactive scientific charts, wraps existing ggplot objects, and shares one grammar with the Python and JS packages.

Why it might interest this crowd:

  • It wraps a ggplot object directly — so "why not just ggplot2?" is: keep your ggplot, get an interactive, portable figure out of it.
  • The figure is one portable JSON spec — the same spec renders identically in an R session, a notebook, or a web page, and can be validated and re-rendered for reproducibility.
  • From SummarizedExperiment / SingleCellExperiment / DESeqDataSet (via CanvasXpressBio) the object maps straight onto the figure — no manual reshaping.

Ten task-shaped recipes (volcano, KM, heatmap, PCA, …), each shown in R, Python and JS over the same data: CanvasXpress: Learn & Migrate

Live gallery: CanvasXpress: Examples

Happy to answer questions about the grammar or how it maps to ggplot/plotly.