amcharts:尝试动态地将多个数据集添加到javascript stockChart

时间:2012-05-24 14:11:30

标签: javascript jquery arrays json amcharts

我正在使用AmCharts显示一些图表,我正在尝试动态添加使用jquery的getJSON

获取的一系列JSON数据集中的数据

我的问题很简单,我如何使用以下内容循环创建各种数据集,为图表创建数据集:

$.getJSON("GET NUMBER OF DATA SETS REQUIRED", function (locdata) {

 $.each(locdata, function (i, item) {

     $.getJSON("GET DATA FOR THIS DATASET", function (data) {

         var dataSet = new AmCharts.DataSet();
         dataSet.title = locdata[i].name;
         dataSet.fieldMappings = [{
             fromField: "takings",
             toField: "takings"
         }, {
             fromField: "qty",
              toField: "qty"
         }];
         dataSet.dataProvider = data; ;
         dataSet.categoryField = "date";

         )};
    )};
)};

要解释我在这里做的事情:

  1. 首先,从我的数据库中获取一些JSON输出以确定需要多少记录集
  2. 通过此结果循环以创建记录集
  3. 在每个循环期间,通过第二次jQuery getJSON调用获取数据,以根据此记录集所需的数据获取数据
  4. 创建AmCharts数据集
  5. 我可以通过显式编码来单独创建每个数据集然后执行

    来手动执行此操作
     chart.dataSets = [dataSet0, dataSet1, dataSet2, dataSet3, dataSet4];
    

    所以我想我需要做的是将上面的整个代码转换为某种函数,根据上面的行生成一组数据集?

    我不知道如何用javascript做到这一点

1 个答案:

答案 0 :(得分:1)

你可以简单地将每个数据集推送到chart.dataSets数组:

chart.dataSets.push(数据集);