Displaying axisX labels in viewport range - CanvasJS JavaScript Charts
Displaying axisX labels in viewport range - CanvasJS JavaScript Charts
by canvasjs
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", {
zoomEnabled: true,
rangeChanged: function(e) {
console.clear();
var viewportMin = Math.floor(e.axisX[0].viewportMinimum);
var viewportMax = Math.ceil(e.axisX[0].viewportMaximum);
console.log("Axis Labels in current viewport range:");
for (var i = 0; i < chart.options.data[0].dataPoints.length; i++) {
if ((chart.options.data[0].dataPoints[i].x > viewportMin) && (chart.options.data[0].dataPoints[i].x < viewportMax)) {
console.log(chart.options.data[0].dataPoints[i].label);
}
}
},
data: [{
type: "line",
dataPoints: [
{ label: "label 1",y: 71 },
{ label: "label 2",y: 55 },
{ label: "label 3",y: 50 },
{ label: "label 4",y: 65 },
{ label: "label 5",y: 95 },
{ label: "label 6",y: 68 },
{ label: "label 7",y: 28 },
{ label: "label 8",y: 34 },
{ label: "label 9", y: 14 }
]
}]
});
chart.render();