いくつかのグラフを表示するために 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";
)};
)};
)};
私がここでやっていることを説明するには:
- まず、データベースから JSON 出力を取得して、必要なレコード セットの数を決定します。
- これからの結果をループしてレコードセットを作成する
- 各ループ中に、2 回目の jQuery
getJSON
呼び出しによってデータが取得され、このレコードセットに必要なデータに基づいてデータが取得されます。 - AmCharts データセットの作成
各データセットを個別に作成するように明示的にコーディングしてから、手動でこれを行うことができます
chart.dataSets = [dataSet0, dataSet1, dataSet2, dataSet3, dataSet4];
だから私がする必要があるのは、上記のコード全体を、上記の行に従ってデータセットの配列を生成するある種の関数に変えることだと思いますか?
JavaScriptでこれを行う方法がわかりませんが