Amcharts.js dataProvider无法识别对象列表

时间:2015-05-21 13:43:23

标签: javascript amcharts

我正在尝试使用amchart 库使用HTML在网站上显示图表。我已经阅读了here找到的教程。我的代码主要是从教程中复制粘贴的,如果我使用他们的对象列表,它会显示,但是如果我使用我的,它就不会显示出来。我通过以下方式构建对象列表:

    var coordList = [];

    function coord(x,y) {
        this.x_coord = x;
        this.y_coord = y;
    }

    var newCoord = new coord(line[0],y_value);
    coordList.push(newCoord); 

我有一些" for"创建要在列表中推送的新对象的循环。如果直接以这种方式写入coordList,它将显示图表:

    coordList = [{"x_coord":"Monday","y_coord":4}];

有人可以帮我理解通过构造函数创建的对象列表有什么问题吗?

编辑:好的,经过测试,似乎我根本不明白JS是如何工作的。

var coordList = []; // list of coordinates {x,y}

$(document).ready(function() {
    $.ajax({
    type: "POST",
    url: "./test.csv",
    dataType: "text",
    success: function(data) {
        processData(data);
        console.log(coordList);
        displayChart();
        console.log("hello");
    }
    });
});

以上是代码的主要部分。以前,displayChart()在doc ready部分之外,这意味着它会立即显示没有数据的图表,因为数据尚未处理(如果我错了,请纠正我?)。我已经把它放在doc ready部分里面了。希望在文档准备好后,处理数据,并显示图表。但它仍然没有。

这就是displayChart()的样子:

    function displayChart() {

        //coordList = [{"x_coord":"Monday","y_coord":4}];
        console.log(coordList);

                var chart = new AmCharts.AmSerialChart();
                chart.dataProvider = coordList;
                chart.categoryField = "x_coord";    

                console.log("hello2");

                var graph = new AmCharts.AmGraph();
                graph.valueField = "y_coord";
                graph.type = "column";
                chart.addGraph(graph);

                chart.write('chartdiv');
    }

编辑#2:我把它弄清楚了,整篇文章已经准备好了AMCHART!这可以关闭,我不知道我是否可以自己做?

0 个答案:

没有答案