CanvasJS Chart Move Crosshair Dynamically

by Vishwas .R

HTML

<script type="text/javascript" src="https://cdn.canvasjs.com/canvasjs.min.js"></script>
<div id="chartContainer" style="height: 360px; width: 100%;"></div>

JavaScript

var chart = new CanvasJS.Chart("chartContainer", {
	theme: "light2",
  title: {
    text: "Show & Update Crosshair Dynamically",
  },
  axisX: {
    crosshair: {
      enabled: true,
    },
  },
  data: [{
    type: "column",
    dataPoints: [
      { x: 10, y: 71 },
      { x: 20, y: 55 },
      { x: 30, y: 50 },
      { x: 40, y: 65 },
      { x: 50, y: 95 },
      { x: 60, y: 68 },
      { x: 70, y: 28 },
      { x: 80, y: 34 },
      { x: 90, y: 14 },
    ]
  }],
});

chart.render();

var xValue = 10, timeoutId;
function moveCrosshair() {
  
  if (xValue > 90) {
    clearTimeout(timeoutId);
    return;
  }
  chart.axisX[0].crosshair.showAt(xValue);
  xValue += 10;
  timeoutId = setTimeout(moveCrosshair, 500);
}
moveCrosshair();