var chartColors = { red: 'rgb(255, 99, 132)', blue: 'rgb(54, 162, 235)' }; var color = Chart.helpers.color; var config = { type: 'bar', data: { datasets: [{ type: 'line', yAxisID: 'temperature', backgroundColor: 'transparent', borderColor: chartColors.red, pointBackgroundColor: chartColors.red, tension: 0, fill: false }, { yAxisID: 'precipitation', backgroundColor: color(chartColors.blue).alpha(0.5).rgbString(), borderColor: 'transparent' }] }, plugins: [ChartDataSource], options: { title: { display: true, text: 'JSON data source (dataset) sample' }, scales: { xAxes: [{ scaleLabel: { display: true, labelString: 'Month' } }], yAxes: [{ id: 'temperature', gridLines: { drawOnChartArea: false }, scaleLabel: { display: true, labelString: 'Temperature (°C)' } }, { id: 'precipitation', position: 'right', gridLines: { drawOnChartArea: false }, scaleLabel: { display: true, labelString: 'Precipitation (mm)' } }] }, plugins: { datasource: { type: 'json', url: 'sample-dataset.json', rowMapping: 'dataset', indexLabels: 'labels', datasetLabels: 'datasets[*].label', data: 'datasets[*].data' } } } }; window.onload = function() { var ctx = document.getElementById('myChart').getContext('2d'); window.myChart = new Chart(ctx, config); };
{ "labels": ["January", "February", "March", "April", "May", "June", "July"], "datasets": [{ "label": "Temperature", "data": [7, 7, 10, 15, 20, 23, 26] }, { "label": "Precipitation", "data": [8.1, 14.9, 41.0, 31.4, 42.6, 57.5, 36.0] }] }
<head> <script src="https://cdn.jsdelivr.net/npm/chart.js@2.8.0"></script> <script src="https://cdn.jsdelivr.net/npm/chartjs-plugin-datasource@0.1.0"></script> </head> <body> <div> <canvas id="myChart"></canvas> </div> </body>