将多维数组传递给JSON数据以填充图表变量

时间:2018-01-29 10:39:39

标签: javascript json

我正在尝试将我的数组绘制成图表。

arr_amount = [["0-200", "200-400", ">400"]];
arr_proname = [["HSD", "Unlead"]];
arr_salecount = [[10,20,15],[9,16,25]];

如果我传递了arr_amount和arr_salecount的特定索引,它就正常工作。

var chartdata = {
    labels: arr_amount[0],
    datasets: [
        {
            label: arr_proname[0],
            fill: false,
            lineTension: 0.1,
            backgroundColor: "rgba(59, 89, 152, 0.75)",
            borderColor: "rgba(59, 89, 152, 1)",
            pointHoverBackgroundColor: "rgba(59, 89, 152, 1)",
            pointHoverBorderColor: "rgba(59, 89, 152, 1)",
            data: arr_salecount[0]
        }
    ]
};

现在我正在尝试传递所有数组行,但我没有准确地说我怎么能使用像arr_salecount [i]而不是arr_salecount [0]来传递整个数组。

示例:

数据:仅采用数据[10,20,15] 但是,如果我想传递数据,那该怎么办? arr_salecount [i]意思是 - > [[10,20,15],[9,16,25]]

编辑:将数组从[{},{}]更改为[[],[]]。

1 个答案:

答案 0 :(得分:0)

找到JSON全新的困难,但最后解决如下。

var chartdata = {
    labels: arr_amount[0],
    datasets:[]
};
for(var i=0;i<arr_proname.length;i++){
    var datasets1=[];
    datasets1["label"]= arr_proname[i];
    datasets1["fill"]= false;
    datasets1["lineTension"]= 0.1;
    datasets1["backgroundColor"]= arr_gradecolor[i];
    datasets1["pointHoverBackgroundColor"]= "rgba(59, 89, 152, 1)";
    datasets1["pointHoverBorderColor"]= "rgba(59, 89, 152, 1)";                                 
    datasets1["data"]= arr_salecount[i];
    chartdata.datasets.push(datasets1);
}