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();
}