An interactive grammar of graphics for R that combines ggplot2's grammar with reactive programming from Shiny.
ggvis is an R package for building interactive web graphics using a grammar of graphics approach. It combines the layering system of ggplot2 with reactive programming from Shiny and data transformation pipelines from dplyr, allowing users to create dynamic visualizations for exploratory data analysis. Graphics are rendered with Vega, supporting both raster and vector outputs.
R users, particularly data scientists and analysts, who need interactive visualizations for exploratory data analysis and want a grammar-based, reactive approach similar to ggplot2.
It provides a succinct, tailored syntax for interactive graphics in R, bridging the gap between static ggplot2 plots and fully custom D3/Shiny apps, with integrated reactivity and pipeline-friendly design.
Interactive grammar of graphics for R
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Leverages ggplot2's intuitive layering system, making it easy for R users familiar with static plots to transition to interactive graphics, as shown in the pipeline example mtcars %>% ggvis(~mpg, ~wt) %>% layer_points().
Combines Shiny's reactive programming to create dynamic visualizations that update with user inputs or data changes, ideal for exploratory data analysis without separate app development.
Uses dplyr-style piping (%>%) for fluent and readable visualization construction, allowing seamless integration with data transformation workflows in R.
Renders graphics with Vega, supporting both HTML5 canvas for raster output and SVG for vector graphics, providing versatility for web-based displays.
The project is officially marked as dormant, meaning no active maintenance, updates, or bug fixes, which poses risks for long-term use or integration into critical workflows.
Admits in the README that it is less flexible than raw D3 or Vega, making it unsuitable for highly custom or advanced interactive visualizations that require fine-grained control.
With development paused, documentation may be outdated, and the community support is minimal compared to alternatives like plotly or Shiny, as hinted by the recommendation to use those instead.