Show X & Y Values in Legend dynamically for MultiSeries chart- CanvasJS JavaScript Charts

Show X & Y Values in Legend dynamically for MultiSeries chart- CanvasJS JavaScript Charts

by Khanh Le

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>

JavaScript

var chart = new CanvasJS.Chart("chartContainer", {  
  toolTip: {
    enabled: false
  },
  data: [{
    type: "column",
    showInLegend: true,
    legendText: "x: y",
    legendMarkerType: "circle",
    dataPoints: [
      { x: 10, y: 71, mouseover: onMouseover },
      { x: 20, y: 55, mouseover: onMouseover },
      { x: 30, y: 50, mouseover: onMouseover },
      { x: 40, y: 65, mouseover: onMouseover },
      { x: 50, y: 95, mouseover: onMouseover },
      { x: 60, y: 68, mouseover: onMouseover },
      { x: 70, y: 28, mouseover: onMouseover },
      { x: 80, y: 34, mouseover: onMouseover },
      { x: 90, y: 14, mouseover: onMouseover }
    ]
  },
  {
     type: "column",
     showInLegend: true,
     legendText: "x: z",
     legendMarkerType: "circle",
     dataPoints: [
      { x: 10, y: 34, mouseover: onMouseover },
      { x: 20, y: 32, mouseover: onMouseover },
      { x: 30, y: 67, mouseover: onMouseover },
      { x: 40, y: 45, mouseover: onMouseover },
      { x: 50, y: 87, mouseover: onMouseover },
      { x: 60, y: 65, mouseover: onMouseover },
      { x: 70, y: 12, mouseover: onMouseover },
      { x: 80, y: 45, mouseover: onMouseover },
      { x: 90, y: 22, mouseover: onMouseover }
    ]
   }]
});

chart.render();

function onMouseover(e){	
  e.dataSeries.legendText = (e.dataSeries.dataPoints[e.dataPointIndex].x + ": " + e.dataSeries.dataPoints[e.dataPointIndex].y).toString();
  e.chart.render();
}