# NOT RUN {
# Ex 1
options(highcharter.rjson = FALSE)
n <- 50000
x <- sin(4 * 2 * pi * seq(n) / n) + rnorm(n) / 10
x <- round(x, 3)
plot(x)
hc1 <- highchart() %>%
hc_chart(zoomType = "x") %>%
hc_add_series(data = x) %>%
hc_title(text = "No boost") %>%
hc_boost(
enabled = FALSE # Default
)
hc1
# Boost is a stripped-down renderer-in-a-module for Highcharts. It bypasses
# some of the standard Highcharts features (such as animation), and focuses
# on pushing as many points as possible as quickly as possible.
hc2 <- highchart() %>%
hc_chart(zoomType = "x") %>%
hc_add_series(data = x) %>%
hc_title(text = "With boost") %>%
hc_boost(enabled = TRUE)
hc2
# # Ex 2
# library(MASS)
#
# n <- 20000
#
# sigma <- matrix(c(10,3,3,2),2,2)
# sigma
#
# mvr <- round(mvrnorm(n, rep(c(0, 0)), sigma), 2)
#
# vx <- ceiling(1+abs(max(mvr[, 1])))
# vy <- ceiling(1+abs(max(mvr[, 2])))
#
# # unnamed list
# ds <- list_parse2(as.data.frame(mvr))
#
# highchart() %>%
# hc_chart(zoomType = "xy") %>%
# hc_xAxis(min = -vx, max = vx) %>%
# hc_yAxis(min = -vy, max = vy) %>%
# hc_add_series(
# data = ds, #list
# type = "scatter",
# name = "A lot of points!",
# color = 'rgba(0,0,0,0.1)',
# marker = list(radius = 2)
# ) %>%
# hc_boost(
# enabled = TRUE
# )
#
# dat <- as.data.frame(mvr)
# names(dat) <- c("x", "y")
#
# highchart() %>%
# hc_chart(zoomType = "xy") %>%
# hc_xAxis(min = -vx, max = vx) %>%
# hc_yAxis(min = -vy, max = vy) %>%
# hc_add_series(
# data = dat,
# type = "scatter",
# hcaes(x, y),
# name = "A lot of points!",
# color = 'rgba(0,0,0,0.1)',
# marker = list(radius = 2)
# ) %>%
# hc_boost(enabled = TRUE)
#
# # Ex3
# N <- 1000000
# n <- 5
# s <- seq(n)
# s <- s/(max(s) + min(s))
# s <- round(s, 2)
#
# series <- s %>%
# purrr::map(~ stats::arima.sim(round(N/n), model = list(ar = .x)) + .x * n * 20) %>%
# purrr::map(as.vector) %>%
# purrr::map(round, 2) %>%
# purrr::map(~ list(data = .x))
#
# highchart() %>%
# hc_add_series_list(series) %>%
# hc_chart(zoomType = "x") %>%
# hc_boost(enabled = TRUE)
# }
Run the code above in your browser using DataLab