dev/examples-api/boost.R

# #  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)
jbkunst/highcharter documentation built on March 14, 2024, 12:52 a.m.