$ 0 / mo
Open-source (MIT) & free forever
$ 33 / mo
|Open Source||MIT Licensed||Pro Plans support our open-source work|
|Support||Community Forum||Email & Chat Support|
|Security||Work offline in R||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 R||Touch up styling in online editor|
We've recently released version 4 of our package on CRAN. Checkout this post for more information about changes and features available in this version!
library(plotly) set.seed(100) 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
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) ggplotly(p)
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")