plotly 0,3 travis-ci

Create interactive web graphics from R via plotly's JavaScript graphing library

Build Status


An R package for creating interactive web graphics via the open source JavaScript graphing library plotly.js.


Install from CRAN:


Or install the latest development version (on GitHub) via devtools:


Getting Started

Web-based ggplot2 graphics

If you use ggplot2, ggplotly() converts your plots to an interactive, web-based version! It also provides sensible tooltips, which assists decoding of values encoded as visual properties in the plot.

g <- ggplot(faithful, aes(x = eruptions, y = waiting)) +
  stat_density_2d(aes(fill = ..level..), geom = "polygon") + 
  xlim(1, 6) + ylim(40, 100)

If you’d like to see how ggplotly() does in converting different ggplot2 examples, we host a plotly version of the official ggplot2 documentation. We also have some of our own examples here.

plotly’s custom R interface

plotly.js supports some chart types that ggplot2 doesn’t (our cheatsheet provides a nice summary of the available chart types). You can create any of these charts via plot_ly().

plot_ly(z = ~volcano, type = "surface")

We have a number of vignettes which explain the plot_ly() interface in depth as well as numerous examples on the plotly website and bundled with the package.

Capturing plotly events

plotly.js exposes a number of ‘standard’ events that work consistently across plot types. It’s easy to hook into these events using the event_data() function in shiny apps, as these examples demonstrate:

  1. 2D events (source)
  2. Linked Clicks (source)
  3. Linked Brush (source)

You can also hook into these events without shiny using htmlwidgets::onRender() (example). This, however, requires JavaScript knowledge and makes it much harder to coordinate views between htmlwidgets.

Learn more

We have lots of examples on and, but a more comprehensive review is also available at


Please read through our contributing guidelines. Included are directions for opening issues, asking questions, contributing changes to plotly, and our code of conduct.

Related Repositories



The open source JavaScript graphing library that powers plotly ...

An interactive, browser-based graphing library for Python :sparkles: ...



Create interactive web graphics from R via plotly's JavaScript graphing library ...



A collection of data science IPython notebooks with Plotly graphs ...



Arduino library for real-time logging and streaming data to online plotly graphs ...

Top Contributors

cpsievert mkcor pedrodz chriddyp xsaintmleux 13bzhang karthik sckott msund tdhock talgalili McClellandLegge nielsenmarkus11 timelyportfolio DexGroves alyst jcheng5 martinjhnhadley mplourde Nikolai-Hlubek


-   v4.5.2 zip tar
-   v3.6.1 zip tar
-   v3.6.0 zip tar
-   v3.5.5 zip tar
-   v3.5.4 zip tar
-   v3.5.3 zip tar
-   v3.5.2 zip tar
-   v3.5.1 zip tar
-   v3.4.13 zip tar
-   0.3 zip tar