August 10th, 2015
library(animint) p <- qplot(data = iris, x = Sepal.Width, y = Sepal.Length, color = Species) structure(list(p = p), class = "animint")
library(plotly) ggplotly(p)
library(gridSVG) gridsvg("iris.svg") p dev.off()
<html> <head> <script type="text/javascript" src="animint.js"></script> </head> <body> <div id="plot" align="center"> </div> <script> var plot = new animint("#plot","plot.json"); </script> </body> </html>
library(RSelenium) startServer() remDr <- remoteDriver(browserName = "firefox") remDr$open() remDr$navigate("http://www.r-project.org") # returns the DOM as HTML src <- remDr$getPageSource()
src <- rdom::rdom("http://www.r-project.org")
myWrapper <- function(...) { # compute stuff toJSON(list(...)) }
(p <- plot_ly(z = volcano, type = "surface"))
str(p) #> Classes ‘plotly’ and 'data.frame': 0 obs. of 0 variables #> - attr(*, "plotly_hash")= chr "d72417c2f38125f11112cd6591f06f2e#2" str(plotly_build(p)) #> List of 4 #> $ data :List of 1 #> ..$ :List of 3 #> .. ..$ type : chr "surface" #> .. ..$ z : num [1:87, 1:61] 100 101 102 103 104 105 105 106 107 108 ... #> .. ..$ colorscale:'data.frame': 10 obs. of 2 variables: #> .. .. ..$ : num [1:10] 0 0.111 0.222 0.333 0.444 ... #> .. .. ..$ : Factor w/ 10 levels "#1F9D89","#26838E",..: 6 7 5 3 2 1 4 8 9 10 #> $ layout :List of 1 #> ..$ zaxis:List of 1 #> .. ..$ title: chr "volcano"
plot_ly(economics, x = date, y = uempmed, mode = "markers") %>% add_trace(y = fitted(forecast::Arima(uempmed, c(1,0,0))), mode = "lines") %>% dplyr::filter(uempmed == max(uempmed)) %>% layout(annotations = list(x = date, y = uempmed, text = "Peak", showarrow = T), title = "Median duration of unemployment (in weeks)", showlegend = F)