1

我正在使用 AmCharts 来显示一些图表,并且我正在尝试从使用 jquery 获取的一系列 JSON 数据集中动态添加数据getJSON

简而言之,我的问题是,如何循环使用各种数据集为图表创建数据集,例如:

$.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. 在每个循环期间,数据由第二个 jQuerygetJSON调用获取,以根据此记录集所需的数据获取数据
  4. 创建 AmCharts 数据集

我可以通过显式编码来手动执行此操作以单独创建每个数据集,然后执行

 chart.dataSets = [dataSet0, dataSet1, dataSet2, dataSet3, dataSet4];

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

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

4

1 回答 1

1

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

chart.dataSets.push(dataSet);

于 2012-05-25T08:36:52.693 回答