Character frequency Chart
Character frequency Chart
by aninaslyan
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
function getFrequency(string) {
var freq = {}, dps = {};
for (var i=0; i<string.length;i++) {
var character = string.charAt(i);
if (freq[character]) {
freq[character]++;
} else {
freq[character] = 1;
}
}
for (let key in freq) {
freq[key] = freq[key] * 100 / string.length;
}
dps = Object.entries(freq).map(([label, y]) => ({ label, y }));
return dps;
}
let str = "NASA or the National Aeronautics and Space Administration is the part of the United States government that deals with space exploration and aeronautics, the operating and designing of planes."
.toLowerCase();
const data = getFrequency(str);
var chart = new CanvasJS.Chart("chartContainer",
{
title:{
text: "Character Frequency"
},
axisX: {
interval: 1,
},
data: [{
dataPoints: data
}]
});
chart.render();