]> git.ipfire.org Git - thirdparty/Chart.js.git/commitdiff
Adding title for the axes (#6571)
authorjatiny17 <31595495+jatiny17@users.noreply.github.com>
Thu, 31 Oct 2019 22:14:37 +0000 (03:44 +0530)
committerEvert Timberg <evert.timberg+github@gmail.com>
Thu, 31 Oct 2019 22:14:37 +0000 (18:14 -0400)
Create sample to show how to add an axis title

samples/samples.js
samples/scales/axes-labels.html [new file with mode: 0644]

index bb0463f7e6e526a377247bb6e4ff3b4285efcf3c..2548f48e38aa27b008064e6be3358b34b20108a9 100644 (file)
                }, {
                        title: 'Toggle Scale Type',
                        path: 'scales/toggle-scale-type.html'
+               }, {
+                       title: 'Axes Labels',
+                       path: 'scales/axes-labels.html'
                }]
        }, {
                title: 'Legend',
diff --git a/samples/scales/axes-labels.html b/samples/scales/axes-labels.html
new file mode 100644 (file)
index 0000000..b76bdaf
--- /dev/null
@@ -0,0 +1,163 @@
+<!doctype html>
+<html>
+
+<head>
+       <title>Line Chart</title>
+       <script src="../../../dist/Chart.min.js"></script>
+       <script src="../../utils.js"></script>
+       <style>
+       canvas{
+               -moz-user-select: none;
+               -webkit-user-select: none;
+               -ms-user-select: none;
+       }
+       </style>
+</head>
+
+<body>
+       <div style="width:75%;">
+               <canvas id="canvas"></canvas>
+       </div>
+       <br>
+       <br>
+       <button id="randomizeData">Randomize Data</button>
+       <button id="addDataset">Add Dataset</button>
+       <button id="removeDataset">Remove Dataset</button>
+       <button id="addData">Add Data</button>
+       <button id="removeData">Remove Data</button>
+       <script>
+               var MONTHS = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
+               var config = {
+                       type: 'line',
+                       data: {
+                               labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
+                               datasets: [{
+                                       label: 'My First dataset',
+                                       backgroundColor: window.chartColors.red,
+                                       borderColor: window.chartColors.red,
+                                       data: [
+                                               randomScalingFactor(),
+                                               randomScalingFactor(),
+                                               randomScalingFactor(),
+                                               randomScalingFactor(),
+                                               randomScalingFactor(),
+                                               randomScalingFactor(),
+                                               randomScalingFactor()
+                                       ],
+                                       fill: false,
+                               }, {
+                                       label: 'My Second dataset',
+                                       fill: false,
+                                       backgroundColor: window.chartColors.blue,
+                                       borderColor: window.chartColors.blue,
+                                       data: [
+                                               randomScalingFactor(),
+                                               randomScalingFactor(),
+                                               randomScalingFactor(),
+                                               randomScalingFactor(),
+                                               randomScalingFactor(),
+                                               randomScalingFactor(),
+                                               randomScalingFactor()
+                                       ],
+                               }]
+                       },
+                       options: {
+                               responsive: true,
+                               title: {
+                                       display: true,
+                                       text: 'Chart.js Line Chart'
+                               },
+                               tooltips: {
+                                       mode: 'index',
+                                       intersect: false,
+                               },
+                               hover: {
+                                       mode: 'nearest',
+                                       intersect: true
+                               },
+                               scales: {
+                                       xAxes: [{
+                                               display: true,
+                                               scaleLabel: {
+                                                       display: true,
+                                                       labelString: 'Month'
+                                               }
+                                       }],
+                                       yAxes: [{
+                                               display: true,
+                                               scaleLabel: {
+                                                       display: true,
+                                                       labelString: 'Value'
+                                               }
+                                       }]
+                               }
+                       }
+               };
+
+               window.onload = function() {
+                       var ctx = document.getElementById('canvas').getContext('2d');
+                       window.myLine = new Chart(ctx, config);
+               };
+
+               document.getElementById('randomizeData').addEventListener('click', function() {
+                       config.data.datasets.forEach(function(dataset) {
+                               dataset.data = dataset.data.map(function() {
+                                       return randomScalingFactor();
+                               });
+
+                       });
+
+                       window.myLine.update();
+               });
+
+               var colorNames = Object.keys(window.chartColors);
+               document.getElementById('addDataset').addEventListener('click', function() {
+                       var colorName = colorNames[config.data.datasets.length % colorNames.length];
+                       var newColor = window.chartColors[colorName];
+                       var newDataset = {
+                               label: 'Dataset ' + config.data.datasets.length,
+                               backgroundColor: newColor,
+                               borderColor: newColor,
+                               data: [],
+                               fill: false
+                       };
+
+                       for (var index = 0; index < config.data.labels.length; ++index) {
+                               newDataset.data.push(randomScalingFactor());
+                       }
+
+                       config.data.datasets.push(newDataset);
+                       window.myLine.update();
+               });
+
+               document.getElementById('addData').addEventListener('click', function() {
+                       if (config.data.datasets.length > 0) {
+                               var month = MONTHS[config.data.labels.length % MONTHS.length];
+                               config.data.labels.push(month);
+
+                               config.data.datasets.forEach(function(dataset) {
+                                       dataset.data.push(randomScalingFactor());
+                               });
+
+                               window.myLine.update();
+                       }
+               });
+
+               document.getElementById('removeDataset').addEventListener('click', function() {
+                       config.data.datasets.splice(0, 1);
+                       window.myLine.update();
+               });
+
+               document.getElementById('removeData').addEventListener('click', function() {
+                       config.data.labels.splice(-1, 1); // remove the label first
+
+                       config.data.datasets.forEach(function(dataset) {
+                               dataset.data.pop();
+                       });
+
+                       window.myLine.update();
+               });
+       </script>
+</body>
+
+</html>