Adding Datapoint from user input - CanvasJS JavaScript Charts
Adding Datapoint from user input - CanvasJS JavaScript Charts
HTML
<script src="http://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>
<div>
Angle :
<input id="angle" type="text" placeholder="Enter Angle">
<button id="addDataPoint">Add Data-Point</button>
</div>
JavaScript
var chart = new CanvasJS.Chart("chartContainer", {
title: {
text: "Adding Datapoint from user input"
},
axisY: {
minimum: 10
},
data: [{
type: "line",
dataPoints: [
{ x: 1, y: 10 }
]
}]
});
chart.render();
function findY(x1,x2,angle){
return ((x2-x1) * Math.atan(angle*Math.PI/180))
}
//Function for add data-point
document.getElementById("addDataPoint").onclick = function() {
var dps = chart.options.data[0].dataPoints;
var angle = parseInt(document.getElementById("angle").value);
var yValue = (findY(dps[dps.length-1].x, dps[dps.length-1].x + 1, angle) + dps[dps.length-1].y);
if (yValue || yValue === 0) {
chart.options.data[0].dataPoints.push({x: dps[dps.length-1].x + 1, y: yValue});
chart.axisY[0].set("maximum", yValue);
}
chart.render();
}