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" style="height: 360px; width: 100%;"></div>

CSS

#image{
  pointer-events: none;
  
}

JavaScript

var dps = [];
var updateInterval = 500;

var chart = new CanvasJS.Chart("chartContainer", {  
  title: {
    text: "4.03x",
    dockInsidePlotArea: true,
    verticalAlign: "center",
    fontSize: 100,
  },
  theme: "dark2",
  axisX: {
    gridThickness: 0,
    tickLength: 0,
    labelFontSize: 20,
    labelFormatter: function(e) {
      return "."
    }
  },
  axisY: {
    gridThickness: 0,
    tickLength: 0,
    margin: 10,
    lineThickness: 1,
    labelFontSize: 20,
    labelFormatter: function(e) {
      return "."
    }
  },
  data: [
    {
      color: "red",
      markerSize: 0,
      fillOpacity: 0.3,
      lineThickness: 4,
      type: "area",
      markerImageUrl:  "https://i.imgur.com/4vH0hYL.png",
      dataPoints: dps
    }					
  ]
});

imageMarker = $("<img>").attr("src", chart.options.data[0].markerImageUrl)
  .css("display", "none")
  .css("height", 20)
  .css("width", 20)
  .appendTo($("#chartContainer>.canvasjs-chart-container"));

chart.render();

var xVal = 0;
var yVal = 0;	

var updateChart = function () {
  yVal = xVal**2;
  dps.push({x: xVal,y: yVal});
  xVal++;
  chart.render();	
  chart.axisY[0].set("maximum", yVal + 1);
  positionMarkerImage(imageMarker, chart.options.data[0].dataPoints.length - 1);
};

function positionMarkerImage(imageMarker, index){ 
  var pixelX = chart.axisX[0].convertValueToPixel(chart.options.data[0].dataPoints[index].x);
  var pixelY = chart.axisY[0].convertValueToPixel(chart.options.data[0].dataPoints[index].y);

  imageMarker.css({"position": "absolute", 
                   "display": "block",
                   "top": pixelY - imageMarker.height()/2,
                   "left": pixelX - imageMarker.width()/2
                  });
}

var updateId = setInterval(function () { updateChart();}, updateInterval);

$(window).resize(function() {
  positionMarkerImage(imageMarker, chart.options.data[0].dataPoints.length - 1);
});