You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

50 lines
1.0KB

  1. ---
  2. output: js4shiny::html_document_js
  3. ---
  4. ```{r htmldeps, echo=FALSE}
  5. library(htmltools)
  6. tagList(
  7. div(id = "chart"),
  8. htmltools::htmlDependency(
  9. name = "frappe-charts",
  10. version = "1.3.0",
  11. package = "frappeCharts",
  12. src = "htmlwidgets/lib/frappe-charts",
  13. script = "frappe-charts.min.iife.js",
  14. all_files = TRUE
  15. )
  16. )
  17. ```
  18. ```{r data}
  19. data <- list(
  20. labels = c("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"),
  21. datasets = list(
  22. list(name = "R", values = runif(8, 0, 100)),
  23. list(name = "Python", values = runif(8, 0, 50))
  24. )
  25. )
  26. tags$script(
  27. id = "data",
  28. type = "application/json",
  29. htmlwidgets:::toJSON(data)
  30. )
  31. ```
  32. ```{js}
  33. let data = document.getElementById('data')
  34. data = JSON.parse(data.textContent)
  35. const chart = new frappe.Chart("#chart", { // or a DOM element,
  36. // new Chart() in case of ES6 module with above usage
  37. title: "My Awesome Chart",
  38. data: data,
  39. type: 'line',
  40. height: 250,
  41. colors: ['#7cd6fd', '#743ee2']
  42. })
  43. ```