In the past few years there has been an explosion in the quantity and quality of available data visualization tools in R. I've long ago stopped using plot base graphics in favor of the wonderful ggplot2 package, and I'm considering going for interactivity now, perhaps using one of the JS-integration packages, and outputting HTML.

However, I'm often in the business of creating long HTML report pages with dozens of graphics in there, and I care about a number of factors:

  • load-time for the graphics generated cannot be too long.
  • should work decently with Shiny and Rmarkdown (ideally flexdashboard).
  • should have a non-insane syntax for tweaking options (i.e no 20 line JS code inserts to change legend location).
  • should be relatively well-documented.
  • should be actively maintained.

What are your go-to packages for interactive data viz?

  • $\begingroup$ How many objects? How many frames/s? $\endgroup$
    – smci
    Feb 27, 2017 at 8:04
  • $\begingroup$ dozens and dozens respectively. $\endgroup$ Feb 28, 2017 at 14:09

1 Answer 1


My current go-to are some graphics from Rstudio's flexdashboard and a set of relatively well-maintained packages:

Leaflet, a library for creating dynamic maps that support panning and zooming, with various annotations like markers, polygons, and popups.

dygraphs, which provides rich facilities for charting time-series data and includes support for many interactive features including series/point highlighting, zooming, and panning.

Plotly, which via its ggplotly interface allows you to easily translate your ggplot2 graphics to an interactive web-based version.

rbokeh, an interface to Bokeh, a powerful declarative Bokeh framework for creating web-based plots.

Highcharter, a rich R interface to the popular Highcharts JavaScript graphics library.

Source: Flexdashboard Components


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.