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="chartContainer1" style="height: 300px; width: 30%; display: inline-block;"></div>
<div id="chartContainer2" style="height: 300px; width: 30%; display: inline-block;"></div>
<div id="chartContainer3" style="height: 300px; width: 30%; display: inline-block;"></div>

JavaScript

var chart1 = new CanvasJS.Chart("chartContainer1", {
	title: {
  	text: "Chart 1"
  },
	toolTip:{
		shared: true,
    content:"{x}-{y}"
	},  
  axisY: {
  	crosshair: {
	  	enabled: true
	  },
   },
	data: [{
		type: "line",
		dataPoints: randomData(1, 50, 1000)
	},{
		type: "line",
		dataPoints: randomData(1, 30, 1000)
	},{
		type: "line",
		dataPoints: randomData(1, 30, 1000)
	}]
});

var chart2 = new CanvasJS.Chart("chartContainer2", {
	title: {
  	text: "Chart 2"
  },
	toolTip:{
		shared: true
	},  
  axisY: {
  	crosshair: {
	  	enabled: true
	  },
   },
	data: [{
		type: "line",
		dataPoints: randomData(1, 50, 1000)
	},{
		type: "line",
		dataPoints: randomData(1, 90, 1000)
	}]
});

var chart3 = new CanvasJS.Chart("chartContainer3", {
	title: {
  	text: "Chart 3"
  },
	toolTip:{
		shared: true
	},  
  axisY: {
  	crosshair: {
	  	enabled: true
	  },
   },
	data: [{
		type: "line",
		dataPoints: randomData(1, 90, 400)
	},
  {
		type: "line",
		dataPoints: randomData(1, 90, 1000)
	}]
});

chart1.render();
chart2.render();
chart3.render();


var otherChartCanvas = $("#chartContainer1").find(".canvasjs-chart-canvas").get(1);

$("#chartContainer2").on("mousemove mouseup mousedown mouseout", function(e){
	otherChartCanvas.dispatchEvent(createEvent(
		e.type,
		e.screenX - chart2.get("width"),
		e.screenY, 
    e.clientX - chart2.get("width"),
		e.clientY
	));
});

var otherChartCanvas1 = $("#chartContainer1").find(".canvasjs-chart-canvas").get(1);

var otherChartCanvas2 = $("#chartContainer2").find(".canvasjs-chart-canvas").get(1);

var otherChartCanvas3 = $("#chartContainer3").find(".canvasjs-chart-canvas").get(1);

$(chart1.container).on("mousemove mouseup mousedown mouseout", function(e) {
	otherChartCanvas2.dispatchEvent(createEvent(
		e.type,
		e.screenX + chart1.get("width"),
		e.screenY, 
    e.clientX + chart1.get("width"),
		e.clientY
	));
  otherChartCanvas3.dispatchEvent(createEvent(
		e.type,
		e.screenX + chart1.get("width") +...