• Open Source.
    These libraries are free forever. Your Pro plan helps keep them top notch.
  • Share Online.
    Share charts, dashboards, Jupyter notebooks, and presentations through our enterprise-grade cloud.
  • Engineering Support.
    Get instant chat support from our awesome engineering team.
Show Sidebar Hide Sidebar

Plotly R Library

Plotly for R is an interactive, browser-based charting library built on the open source javascript graphing library, plotly.js. It works entirely locally, through the HTML widgets framework.
$ 0 / mo
Open-source (MIT) & free forever

$ 33 / mo
Billed annually

Go Pro
Open Source MIT Licensed Pro Plans support our open-source work
Support Community Forum Email & Chat Support
Security Work offline in Python Sync to enterprise-grade, private cloud
Sharing Share Charts as offline HTML files Share charts, dashboards, and Jupyter notebooks with secure 1-click links
Shiny Add interactive Plotly charts to your Shiny app Open charts from Shiny into Plotly for sharing, editing, & export
Design Style Plotly charts in Python Touch up styling in online editor
d <- diamonds[sample(nrow(diamonds), 1000), ]
plot_ly(d, x = ~carat, y = ~price, color = ~carat,
        size = ~carat, text = ~paste("Clarity: ", clarity))

Plotly graphs are interactive. Click-drag to zoom, shift-click to pan, double-click to autoscale.

Know and love ggplot2? Try ggplotly

p <- ggplot(data = d, aes(x = carat, y = price)) +
  geom_point(aes(text = paste("Clarity:", clarity))) +
  geom_smooth(aes(colour = cut, fill = cut)) + facet_wrap(~ cut)


3D WebGL and more

Although data frames can be thought of as the central object in this package, plotly visualizations don't actually require a data frame. This makes chart types that accept a z argument especially easy to use if you have a numeric matrix:

plot_ly(z = ~volcano, type = "surface")
Basic Charts
Statistical Charts
Scientific Charts
3D Charts
Multiple Axes, Subplots, and Insets
Add Custom Controls with JavaScript

All Plotly charts have click, hover and zoom events exposed to add custom controls with Plotly's JavaScript postMessage API.

Layout Options
File Settings
Image Export & Retrieving Plots
Still need help?
Contact Us

For guaranteed 24 hour response turnarounds, upgrade to our Premium or Enterprise plans.