Sorting JSON Data in Dynamic Chart - CanvasJS JavaScript Charts
Sorting JSON Data in Dynamic Chart - 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 dataLength = 0;
var dps = [];
var chart = new CanvasJS.Chart("chartContainer", {
title: {
text: "Sorting JSON Data in Dynamic Chart"
},
data: [{
type: "line",
dataPoints: dps
}]
});
chart.render();
updateEcg();
function updateEcg() {
$.getJSON("https://api.npoint.io/9a8aa58385bcf255d0f5", function(result) {
if (dataLength !== result.length) {
for (var i = dataLength; i < result.length; i++) {
dps.push({
x: parseInt(result[i].valuex),
y: parseFloat(result[i].valuey),
});
if (dps.length > 478) {
dps.shift();
}
}
dataLength = result.length;
dps = sortDps(dps);
chart.render();
}
});
}
function sortDps(dataPoints) {
for (var i = 0; i < dataPoints.length - 1; i++) {
if (dataPoints[i].x > dataPoints[i + 1].x) {
var temp = dataPoints[i];
dataPoints[i] = dataPoints[i + 1];
dataPoints[i + 1] = temp;
i = 0;
}
}
return dataPoints;
}