library(dplyr)
library(lubridate)
library(cranlogs)
library(highcharter)
library(forcats)
pcks <- c("highcharter", "rbokeh", "dygraphs", "plotly", "ggvis", "billboarder",
"metricsgraphics", "rAmCharts", "echarts4r", "rchess", "apexcharter")
data <- pcks %>%
# adjustedcranlogs::adj_cran_downloads(from = "2015-06-01", to = Sys.Date()) %>%
cranlogs::cran_downloads(from = "2015-06-01", to = Sys.Date()) %>%
tibble::as_tibble() %>%
# mutate(date = floor_date(date, unit = "week")) %>%
# mutate(date = floor_date(date, unit = "year")) %>%
mutate(date = floor_date(date, unit = "month")) %>%
group_by(date, package) %>%
summarize(count = sum(count)) %>%
ungroup() %>%
mutate(package = fct_reorder(package, -count)) %>%
group_by(package) %>%
arrange(date) %>%
filter(row_number() != n()) |>
filter(TRUE)
hchart(data, type = "line", hcaes(x = date, y = count, group = package)) %>%
hc_chart(zoomType = "x") %>%
hc_tooltip(sort = TRUE, table = TRUE) %>%
hc_add_theme(hc_theme_smpl()) %>%
hc_navigator(enabled = TRUE) %>%
hc_yAxis(endOnTick = FALSE)
data |>
filter(year(date) > 2018) |>
hchart(type = "line", hcaes(x = date, y = count, group = package)) %>%
hc_chart(zoomType = "x") %>%
hc_tooltip(sort = TRUE, table = TRUE) %>%
hc_add_theme(hc_theme_smpl()) %>%
# hc_navigator(enabled = TRUE) %>%
hc_xAxis(title = list(text = "")) |>
hc_yAxis(title = list(text = "")) |>
hc_yAxis(endOnTick = FALSE) |>
hc_legend(enabled = FALSE) |>
hc_tooltip(
positioner = JS("function() {return { x: this.chart.plotLeft + 300, y: this.chart.plotTop};}")
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.