CanvasJS Basic StockChart | CanvasJS JavaScript StockChart
CanvasJS Basic StockChart | CanvasJS JavaScript StockChart
by Samarit
HTML
<script src="https://canvasjs.com/assets/script/canvasjs.stock.min.js"></script>
<br/><!-- Just so that JSFiddle's Result label doesn't overlap the StockChart -->
<div id="stockChartContainer" style="height: 400px; width: 100%;"></div>
JavaScript
var dataPoints = [
{ x: new Date(2018, 0, 0), y: 71 },
{ x: new Date(2018, 01, 0), y: 55 },
{ x: new Date(2018, 02, 0), y: 50 },
{ x: new Date(2018, 03, 0), y: 65 },
{ x: new Date(2018, 04, 0), y: 95 },
{ x: new Date(2018, 05, 0), y: 68 },
{ x: new Date(2018, 06, 0), y: 28 },
{ x: new Date(2018, 07, 0), y: 34 },
{ x: new Date(2018, 08, 0), y: 14 },
{ x: new Date(2018, 09, 0), y: 71 },
{ x: new Date(2018, 10, 0), y: 55 },
{ x: new Date(2018, 11, 0), y: 50 },
{ x: new Date(2019, 0, 0), y: 71 },
{ x: new Date(2019, 01, 0), y: 55 },
{ x: new Date(2019, 02, 0), y: 50 },
{ x: new Date(2019, 03, 0), y: 65 },
{ x: new Date(2019, 04, 0), y: 95 },
{ x: new Date(2019, 05, 0), y: 68 },
{ x: new Date(2019, 06, 0), y: 28 },
{ x: new Date(2019, 07, 0), y: 34 },
{ x: new Date(2019, 08, 0), y: 14 },
{ x: new Date(2019, 09, 0), y: 71 },
{ x: new Date(2019, 10, 0), y: 55 },
{ x: new Date(2019, 11, 0), y: 50 }
];
var stockChart = new CanvasJS.StockChart("stockChartContainer", {
title:{
text: "Basic StockChart"
},
exportEnabled: true,
charts: [{
data: [{
type: "line",
dataPoints: dataPoints
}],
zoomEnabled: true
}],
navigator: {
enabled: false
},
rangeSelector: {
enabled: false
}
});
stockChart.render();
function socketChart() {
// This imitates data update by socket
dataPoints[dataPoints.length - 1].y = Math.floor(Math.random() * 100)
stockChart.render()
}
setInterval(()=>{
socketChart()
}, 1000)