stacked-group.html 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <title>Stacked Bar Chart with Groups</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. stack: 'Stack 0',
  27. data: [
  28. randomScalingFactor(),
  29. randomScalingFactor(),
  30. randomScalingFactor(),
  31. randomScalingFactor(),
  32. randomScalingFactor(),
  33. randomScalingFactor(),
  34. randomScalingFactor()
  35. ]
  36. }, {
  37. label: 'Dataset 2',
  38. backgroundColor: window.chartColors.blue,
  39. stack: 'Stack 0',
  40. data: [
  41. randomScalingFactor(),
  42. randomScalingFactor(),
  43. randomScalingFactor(),
  44. randomScalingFactor(),
  45. randomScalingFactor(),
  46. randomScalingFactor(),
  47. randomScalingFactor()
  48. ]
  49. }, {
  50. label: 'Dataset 3',
  51. backgroundColor: window.chartColors.green,
  52. stack: 'Stack 1',
  53. data: [
  54. randomScalingFactor(),
  55. randomScalingFactor(),
  56. randomScalingFactor(),
  57. randomScalingFactor(),
  58. randomScalingFactor(),
  59. randomScalingFactor(),
  60. randomScalingFactor()
  61. ]
  62. }]
  63. };
  64. window.onload = function() {
  65. var ctx = document.getElementById('canvas').getContext('2d');
  66. window.myBar = new Chart(ctx, {
  67. type: 'bar',
  68. data: barChartData,
  69. options: {
  70. title: {
  71. display: true,
  72. text: 'Chart.js Bar Chart - Stacked'
  73. },
  74. tooltips: {
  75. mode: 'index',
  76. intersect: false
  77. },
  78. responsive: true,
  79. scales: {
  80. xAxes: [{
  81. stacked: true,
  82. }],
  83. yAxes: [{
  84. stacked: true
  85. }]
  86. }
  87. }
  88. });
  89. };
  90. document.getElementById('randomizeData').addEventListener('click', function() {
  91. barChartData.datasets.forEach(function(dataset) {
  92. dataset.data = dataset.data.map(function() {
  93. return randomScalingFactor();
  94. });
  95. });
  96. window.myBar.update();
  97. });
  98. </script>
  99. </body>
  100. </html>