我正在尝试创建一个条形图,其中包含毛里求斯大学各专业2009年至2015年的在校学生数据。我在下面使用Javascript,console.log(data)
显示图表已呈现。但是,它不会显示。
var dataPoints = [];
var myChart = document.getElementById('myChart').getContext('2d');
$('#all').click(function(){
$.get("http://api.worldbank.org/v2/countries/mus/indicators/SE.TER.ENRL?date=2009:2015", function(data) {
console.log(data);
$(data).find("wb:data").each(function () {
var $dataPoint = $(this);
var x = $dataPoint.find("wb:date").text;
console.log(x);
var y = $dataPoint.find("wb:value").text();
dataPoints.push({x: parseFloat(x), y: parseFloat(y)});
});
var chart = new CanvasJS.Chart("myChart", {
title: {
text: $(data).find("wb:indicator").text(),
},
data: [{
type: "column",
dataPoints: dataPoints,
}]
});
chart.render();
document.getElementById('myChart').style.display = "block";
});
});
这是html。画布最初设置为display:none
。
<canvas id="myChart">
</canvas>
答案 0 :(得分:1)
图表容器应该是DOM,而不是Canvas。有关更多信息,请查看CanvasJS Documentation Page。将<canvas id="myChart"> </canvas>
更改为<div id="myChart"></div>
并在创建时将其传递到图表应该可以正常工作。
您还可以参考文档中有关Rendering Chart from XML Data的教程。