JSFiddle - React, Tailwind, and code Playground

by makrz

HTML

<h1>Sync Multiple Charts</h1>
<br/><!-- Just so that JSFiddle's Result label doesn't overlap the Chart -->
<div id="chartContainer1" style="height: 360px; width: 100%;"></div>
<div id="chartContainer2" style="height: 360px; width: 100%;"></div>
<script type="text/javascript" src="https://canvasjs.com/assets/script/jquery-1.11.1.min.js"></script>
<script type="text/javascript" src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
<script type="text/javascript">

JavaScript

var data_arr = [];
function getData() {
 $.when($.getJSON(
    'https://api.thingspeak.com/channels/713735/feeds.json?timezone=Europe/Warsaw&days=1&timescale=5',
    function(json_data) {
      console.log(json_data);
      json_data.feeds.forEach(function(data) {
        data_arr.push({
          x: new Date(data.created_at),
          y: parseFloat(data.field1)
        });
      });

      console.log("data_arr: ", data_arr);
    })).then(function(){

      
    });
    }
    
var data_arr = [];
function getData() {
 $.when($.getJSON(
    'https://api.thingspeak.com/channels/713735/feeds.json?timezone=Europe/Warsaw&days=1&timescale=5',
    function(json_data) {
      console.log(json_data);
      json_data.feeds.forEach(function(data) {
        data_arr.push({
          x: new Date(data.created_at),
          y: parseFloat(data.field2)
        });
      });

      console.log("data_arr: ", data_arr);
    })).then(function(){
    
       chart1.render();
        chart2.render();



      
      
    });
    }
    




var chart1 = new CanvasJS.Chart("chartContainer1", {
  title: {
    text: "Pressure"
  },
  axisX: {
    valueFormatString: "HH:mm TT",
    // labelAngle: -50
  },
  data: [{
    xValueType: "dateTime",
    type: "line",
    dataPoints: data_arr,
  }]
});
getData();





var chart2 = new CanvasJS.Chart("chartContainer2", {
  title: {
    text: "Temperature"
  },
  axisX: {
    valueFormatString: "HH:mm TT",
    // labelAngle: -50
  },
  data: [{
    xValueType: "dateTime",
    type: "line",
    dataPoints: data_arr,
  }]
});
getData();