Candlestick Chart from CSV Data - CanvasJS JavaScript Charts

Candlestick Chart from CSV Data - 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 dataPoints = [];

function getDataPointsFromCSV(csv) { 
  var dataPoints = csvLines = points = [];
  csvLines = csv.split(/[\r?\n|\r|\n]+/); 
  for (var i = 0; i < csvLines.length; i++)
    if (csvLines[i].length > 0) {
      points = csvLines[i].split(",");	

      dataPoints.push({ 
        x: parseFloat(points[1]), 
        y: [parseFloat(points[3]), 10, parseFloat(points[4]), 0]
      });
    }
  return dataPoints;
}

//Sample CSV has been stored in https://codepen.io/vishwas/pen/wJQmmP.js
$.get("https://codepen.io/vishwas/pen/wJQmmP.js", function(data) {
  var chart = new CanvasJS.Chart("chartContainer", {
    title: {
      text: "Candlestick Chart from CSV",
    },
    data: [{
      type: "candlestick",      
      dataPoints: getDataPointsFromCSV(data),
      backgroundColor: "rgba(153,255,51,0.4)"
    }]
  });
  chart.render();
});