I'm trying to create chart by Javascript on JsFiddle. Here is my code.
$(document).ready(function() { var dataPointsA = [] var dataPointsB = [] $.ajax({ type: 'GET', url: 'https://api.myjson.com/bins/12qook', dataType: 'json', success: function(field) { for (var i = 0; i < field.length; i++) { dataPointsA.push({ x: field[i].userId, y: field[i].numberOfusers }); } var chart = new CanvasJS.Chart("chartContainer", { title: { text: "User Count" }, data: [{ type: "line", name: "line1", dataPoints: dataPointsA }] }); chart.render(); } }); })
<script src="https://cdnjs.cloudflare.com/ajax/libs/canvasjs/1.7.0/canvasjs.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <br><br> <div id="chartContainer" style="height: 360px; width: 100%;"></div>
But when I press Run, it show only this:
I'm new to this so can you tell me what's wrong in my code? Thank you
If you want to render categorical data, use a bar chart instead of a line chart by changing type
to column
and x
to label
:
$.ajax({ type: 'GET', url: 'https://api.myjson.com/bins/12qook', dataType: 'json', success(data) { new CanvasJS.Chart("chartContainer", { title: { text: "User Count" }, data: [{ type: "column", dataPoints: data.map( ({ userId, numberOfusers }) => ({ label: userId, y: numberOfusers }) ) }] }).render(); } });
<script src="https://cdnjs.cloudflare.com/ajax/libs/canvasjs/1.7.0/canvasjs.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <br><br> <div id="chartContainer" style="height: 360px; width: 100%;"></div>
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.