--- output: js4shiny::html_document_js --- ```{r htmldeps, echo=FALSE} library(htmltools) tagList( div(id = "chart"), htmltools::htmlDependency( name = "frappe-charts", version = "1.3.0", package = "frappeCharts", src = "htmlwidgets/lib/frappe-charts", script = "frappe-charts.min.iife.js", all_files = TRUE ) ) ``` ```{r data} data <- list( labels = c("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"), datasets = list( list(name = "R", values = runif(8, 0, 100)), list(name = "Python", values = runif(8, 0, 50)) ) ) tags$script( id = "data", type = "application/json", htmlwidgets:::toJSON(data) ) ``` ```{js} let data = document.getElementById('data') data = JSON.parse(data.textContent) const chart = new frappe.Chart("#chart", { // or a DOM element, // new Chart() in case of ES6 module with above usage title: "My Awesome Chart", data: data, type: 'line', height: 250, colors: ['#7cd6fd', '#743ee2'] }) ```