View source: R/partial_bundles.R
partial_bundle | R Documentation |
Leveraging plotly.js' partial bundles can lead to smaller file sizes and faster rendering. The full list of available bundles, and the trace types that they support, are available here
partial_bundle(p, type = "auto", local = TRUE, minified = TRUE)
p |
a plotly object. |
type |
name of the (partial) bundle. The default, |
local |
whether or not to download the partial bundle so that it can be viewed later without an internet connection. |
minified |
whether or not to use a minified js file (non-minified file can be useful for debugging plotly.js) |
WARNING: use this function with caution when rendering multiple plotly graphs on a single website. That's because, if multiple plotly.js bundles are used, the most recent bundle will override the other bundles. See the examples section for an example.
Carson Sievert
# ----------------------------------------------------------------------
# This function is always safe to use when rendering a single
# plotly graph. In this case, we get a 3x file reduction.
# ----------------------------------------------------------------------
## Not run:
library(plotly)
p <- plot_ly(x = 1:10, y = 1:10) %>% add_markers()
save_widget <- function(p, f) {
owd <- setwd(dirname(f))
on.exit(setwd(owd))
htmlwidgets::saveWidget(p, f)
mb <- round(file.info(f)$size / 1e6, 3)
message("File is: ", mb," MB")
}
f1 <- tempfile(fileext = ".html")
f2 <- tempfile(fileext = ".html")
save_widget(p, f1)
save_widget(partial_bundle(p), f2)
# ----------------------------------------------------------------------
# But, since plotly.js bundles override one another,
# be careful when putting multiple graphs in a larger document!
# Note how the surface (part of the gl3d bundle) renders, but the
# heatmap (part of the cartesian bundle) doesn't...
# ----------------------------------------------------------------------
library(htmltools)
p1 <- plot_ly(z = ~volcano) %>%
add_heatmap() %>%
partial_bundle()
p2 <- plot_ly(z = ~volcano) %>%
add_surface() %>%
partial_bundle()
browsable(tagList(p1, p2))
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.