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.

60 lines
1.3KB

  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 = c(18, 40, 30, 35, 8, 52, 17, -4)),
  23. list(name = "Python", values = c(30, 50, -10, 15, 18, 32, 27, 14))
  24. )
  25. )
  26. tags$script(
  27. id = "data",
  28. type = "application/json",
  29. htmlwidgets:::toJSON(data)
  30. )
  31. ```
  32. ```{js}
  33. let rData = document.getElementById('data')
  34. rData.textContent
  35. ```
  36. ```{js}
  37. const data = {
  38. labels: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
  39. datasets: [
  40. { name: "R", values: [18, 40, 30, 35, 8, 52, 17, -4] },
  41. { name: "Python", values: [30, 50, -10, 15, 18, 32, 27, 14] }
  42. ]
  43. }
  44. const chart = new frappe.Chart("#chart", { // or a DOM element,
  45. // new Chart() in case of ES6 module with above usage
  46. title: "My Awesome Chart",
  47. data: data,
  48. type: 'line',
  49. height: 250,
  50. colors: ['#7cd6fd', '#743ee2']
  51. })
  52. ```