Guest User

Untitled

a guest
Feb 26th, 2020
316
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 5 2.55 KB | None | 0 0
  1. <!doctype html>
  2. <html>
  3.  
  4. <head>
  5.     <title>Test graph</title>
  6.     <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.js"></script>
  7.     <style>
  8.     canvas {
  9.         -moz-user-select: none;
  10.         -webkit-user-select: none;
  11.         -ms-user-select: none;
  12.     }
  13.  
  14.     </style>
  15. </head>
  16.  
  17. <body>
  18.     <div style="width:75%;">
  19.         <canvas id="myChart" width="920px" height="320px"></canvas>
  20.     </div>
  21. <button id="randomizeData">Randomize Data</button>
  22. <script>
  23.         window.chartColors = {
  24.             red: 'rgb(255, 99, 132)',
  25.             orange: 'rgb(255, 159, 64)',
  26.             yellow: 'rgb(255, 205, 86)',
  27.             green: 'rgb(75, 192, 192)',
  28.             blue: 'rgb(54, 162, 235)',
  29.             purple: 'rgb(153, 102, 255)',
  30.             grey: 'rgb(201, 203, 207)'
  31.         };
  32.  
  33.         window.randomScalingFactor = function() {
  34.             return Math.random() * 200 - 100;
  35.         };
  36.  
  37.         window.randomData = function() {
  38.             var arr = [];
  39.             for (var i=0;i<12;i++){
  40.                 arr.push(randomScalingFactor());
  41.             }
  42.             return arr;
  43.         };
  44.  
  45.         var MONTHS = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
  46.         var config = {
  47.             type: 'line',
  48.             data: {
  49.                 labels: MONTHS,
  50.                 datasets: [{
  51.                     label: 'My First dataset',
  52.                     backgroundColor: window.chartColors.red,
  53.                     borderColor: window.chartColors.red,
  54.                     data: randomData(),
  55.                     fill: false,
  56.                 }, {
  57.                     label: 'My Second dataset',
  58.                     fill: false,
  59.                     backgroundColor: window.chartColors.blue,
  60.                     borderColor: window.chartColors.blue,
  61.                     data: randomData(),
  62.                 }]
  63.             },
  64.             options: {
  65.                 responsive: false,
  66.                maintainAspectRatio: false,
  67.                 title: {
  68.                     display: true,
  69.                     text: 'Test graph'
  70.                 },
  71.                 tooltips: {
  72.                     mode: 'index',
  73.                     intersect: false,
  74.                 },
  75.                 hover: {
  76.                     mode: 'nearest',
  77.                     intersect: false
  78.                 },
  79.                 scales: {
  80.                     xAxes: [{
  81.                         display: true,
  82.                         scaleLabel: {
  83.                             display: true,
  84.                             labelString: 'Month'
  85.                         }
  86.                     }],
  87.                     yAxes: [{
  88.                         display: true,
  89.                         scaleLabel: {
  90.                             display: true,
  91.                             labelString: 'Value'
  92.                         }
  93.                     }]
  94.                 }
  95.             }
  96.         };
  97.  
  98.         window.onload = function() {
  99.             var ctx = document.getElementById('myChart').getContext('2d');
  100.             window.myLine = new Chart(ctx, config);
  101.         };
  102.  
  103.         document.getElementById('randomizeData').addEventListener('click', function() {
  104.             config.data.datasets.forEach(function(dataset) {
  105.                 dataset.data = dataset.data.map(function() {
  106.                     return randomScalingFactor();
  107.                 });
  108.             });
  109.  
  110.             window.myLine.update();
  111.         });
  112.  
  113. </script>
  114. </body>
  115.  
  116. </html>
Advertisement
Add Comment
Please, Sign In to add comment