CanvasJS图表未显示

时间:2018-07-25 17:57:51

标签: javascript jquery html css canvasjs

我正在尝试创建一个条形图,其中包含毛里求斯大学各专业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>

1 个答案:

答案 0 :(得分:1)

图表容器应该是DOM,而不是Canvas。有关更多信息,请查看CanvasJS Documentation Page。将<canvas id="myChart"> </canvas>更改为<div id="myChart"></div>并在创建时将其传递到图表应该可以正常工作。

您还可以参考文档中有关Rendering Chart from XML Data的教程。