JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
<br/><!-- Just so that JSFiddle's Result label doesn't overlap the Chart -->
<div id="chartContainer_f1" style="height: 360px; width: 100%;"></div>
JavaScript
window.onload = function() {
var f1_chart = new CanvasJS.Chart("chartContainer_f1", {
toolTip: {
shared: true,
},
zoomEnabled: true,
zoomType: "xy",
theme: "light2", // "light1", "light2", "dark1", "dark2"
interactivityEnabled: true,
title: {
text: "Single Chart from Mulitple CSV",
fontWeight: "normal",
},
axisX : [{
title: "time (s)",
crosshair: {
enabled: true,
snapToDataPoint: true
}}],
axisY: [
{
title: "temp",
minimum: 4,
maximum: 20
}],
legend: {
cursor: "pointer",
itemclick: function (e) {
if (typeof (e.dataSeries.visible) === "undefined" || e.dataSeries.visible) {
e.dataSeries.visible = false;
} else {
e.dataSeries.visible = true;
}
e.chart.render();
},
fontSize: 15
},
data: []
});
var csvUrls = ["https://docs.google.com/spreadsheets/d/e/2PACX-1vR6rthBr2r4l117Aiek9B8LeSf3Mwq_gvOLEnjUgg8wxVEeA4HSPb9I4MJEynjBqVMUOKRSyJAJO7Ho/pub?gid=0&single=true&output=csv",
"https://docs.google.com/spreadsheets/d/e/2PACX-1vS0x7xjfOHDYqwnn1wtaf3KIyT3NlrGGu0pYZFYEw1jyecb5nOt_0fLqXpdcNmq7MlNe23JlEvkSlAo/pub?gid=0&single=true&output=csv",
"https://docs.google.com/spreadsheets/d/e/2PACX-1vTy1MPLIjitDavglTYa-jwF7KrYuNxCT-0urLe5g1y3lcAWyqJM2I4mPluCL7ncvDlzqVVtcfRNutwn/pub?gid=0&single=true&output=csv"];
$.when($.get(csvUrls[0]), $.get(csvUrls[1]), $.get(csvUrls[2])).done(function(data1, data2, data3) {
updateChartFromCSV(data1[0]);
updateChartFromCSV(data2[0]);
updateChartFromCSV(data3[0]);
});
function updateChartFromCSV(csv) {
var csvLines = points = [];
csvLines = csv.split(/[\r?\n|\r|\n]+/);
var seriesLength = f1_chart.options.data.length;
for (var i = 0; i < csvLines.length; i++) {
if (csvLines[i].length > 0) {
if(i === 0){
...