Basic Column chart from CSV Data ignoring Lines Starting with Specific Character - CanvasJS JavaScript Charts

Basic Column chart from CSV Data ignoring Lines Starting with Specific Character - 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

/*
 // note : just for demo data is passed directly and not via ajax

$.ajax({
        type: "GET",
        url: "csvFile.csv",
        dataType: "text",
        success: function (dataCsv) { processData(dataCsv); }
    });
*/

var data = [];
var dataCsv =  "apple,70 orange,55 banana,50 mango,65 grape,95 pineapple,68 papaya,28\n#guava,70 pears,55 lychee,50 jackfruit,65"; //line starting with # will not be rendered


function addDataPoint(label,yValue){
    var yData = parseInt(yValue);
		var labelData = label;
    var dataFlag = false;
    for(var i=0;i<data.length;i++){       
            data[i].dataPoints.push({label:labelData, y:yData});
            dataFlag = true;
    }
    if(!dataFlag){
        data.push({
            type : "column",
            dataPoints : [
                {label: labelData, y:yData}
            ]
        });
    }
}

function processData(allText) {
    var allLinesArray = allText.split('\n');  
    for(var i=0;i<allLinesArray.length;i++)
    if (!(allLinesArray[i].indexOf('#') !== -1)) {    
    		var rowArray = allLinesArray[i].split(' ');        
        for (var j = 0; j <= rowArray.length - 1; j++) {
            var rowData = rowArray[j].split(',');
            addDataPoint(rowData[0],rowData[1]);
        }
        
        chart.render();
    }
}


var chart = new CanvasJS.Chart("chartContainer", {    
    title: {
        text: "Column Chart from CSV Data"
    },
    subtitles:[
        {
        text: "Ignoring Specific Line that starts with '#'"
        }
    ],
    data: data
});

processData(dataCsv);