stacked.html 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <title>Stacked Bar Chart</title>
  5. <script src="../../../dist/Chart.bundle.js"></script>
  6. <script src="../../utils.js"></script>
  7. <style>
  8. canvas {
  9. -moz-user-select: none;
  10. -webkit-user-select: none;
  11. -ms-user-select: none;
  12. }
  13. </style>
  14. </head>
  15. <body>
  16. <div style="width: 75%">
  17. <canvas id="canvas"></canvas>
  18. </div>
  19. <button id="randomizeData">Randomize Data</button>
  20. <script>
  21. var barChartData = {
  22. labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
  23. datasets: [{
  24. label: 'Dataset 1',
  25. backgroundColor: window.chartColors.red,
  26. data: [
  27. randomScalingFactor(),
  28. randomScalingFactor(),
  29. randomScalingFactor(),
  30. randomScalingFactor(),
  31. randomScalingFactor(),
  32. randomScalingFactor(),
  33. randomScalingFactor()
  34. ]
  35. }, {
  36. label: 'Dataset 2',
  37. backgroundColor: window.chartColors.blue,
  38. data: [
  39. randomScalingFactor(),
  40. randomScalingFactor(),
  41. randomScalingFactor(),
  42. randomScalingFactor(),
  43. randomScalingFactor(),
  44. randomScalingFactor(),
  45. randomScalingFactor()
  46. ]
  47. }, {
  48. label: 'Dataset 3',
  49. backgroundColor: window.chartColors.green,
  50. data: [
  51. randomScalingFactor(),
  52. randomScalingFactor(),
  53. randomScalingFactor(),
  54. randomScalingFactor(),
  55. randomScalingFactor(),
  56. randomScalingFactor(),
  57. randomScalingFactor()
  58. ]
  59. }]
  60. };
  61. window.onload = function() {
  62. var ctx = document.getElementById('canvas').getContext('2d');
  63. window.myBar = new Chart(ctx, {
  64. type: 'bar',
  65. data: barChartData,
  66. options: {
  67. title: {
  68. display: true,
  69. text: 'Chart.js Bar Chart - Stacked'
  70. },
  71. tooltips: {
  72. mode: 'index',
  73. intersect: false
  74. },
  75. responsive: true,
  76. scales: {
  77. xAxes: [{
  78. stacked: true,
  79. }],
  80. yAxes: [{
  81. stacked: true
  82. }]
  83. }
  84. }
  85. });
  86. };
  87. document.getElementById('randomizeData').addEventListener('click', function() {
  88. barChartData.datasets.forEach(function(dataset) {
  89. dataset.data = dataset.data.map(function() {
  90. return randomScalingFactor();
  91. });
  92. });
  93. window.myBar.update();
  94. });
  95. </script>
  96. </body>
  97. </html>