JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
<div id="chartContainer" style="height: 360px; width: 100%;"></div>
JavaScript
var dataPoints1 = [], dataPoints2 = [];
var chart = new CanvasJS.Chart("chartContainer", {
animationEnabled: true,
zoomEnabled: true,
theme: "dark2", // "light1", "light2", "dark1", "dark2"
exportEnabled: true,
title: {
text: "test sales data"
},
subtitles: [{
text: "Test Chart"
}],
axisY: {
title: "Pounds"
},
data: [
{
type: "column",
showInLegend: true,
name: "Target",
dataPoints: dataPoints1
},
{
type: "column",
showInLegend: true,
name: "Income",
dataPoints: dataPoints2
}]
});
$.get("http://shadow.spiros.io/sales-data.csv", getDataPointsFromCSV);
function getDataPointsFromCSV(csv) {
var csvLines = points = [];
csvLines = csv.split(/[\r?\n|\r|\n]+/);
for (var i = 0; i < csvLines.length - 2; i++) {
if (csvLines[i].length > 0) {
points = csvLines[i].split(",");
dataPoints1.push({
label:points[0],
y: parseFloat(points[1])});
dataPoints2.push({
label:points[0],
y: parseFloat(points[2])
});
}
}
chart.render();
}