Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从json创建chart.js点数据集_Javascript_Json_Chart.js - Fatal编程技术网

Javascript 从json创建chart.js点数据集

Javascript 从json创建chart.js点数据集,javascript,json,chart.js,Javascript,Json,Chart.js,我试图从webApi的json响应创建一个线条图。我想创建一个时间点数据集,如下所示: var adddata = { datasets: [{ label: "a", backgroundColor: "rgba(255,0,0,0.5)", fill: false, data: [{

我试图从webApi的json响应创建一个线条图。我想创建一个时间点数据集,如下所示:

var adddata = {     
    datasets: [{
                label: "a",
                backgroundColor: "rgba(255,0,0,0.5)",               
                fill: false,
                data: [{
                    x: newDateString(0),
                    y: 22
                }, {
                    x: newDateString(2),
                    y: 25
                }, {
                    x: newDateString(4),
                    y: 12
                }, {
                    x: newDateString(5),
                    y: 22
                }],
            }, {
                label: "b",
                backgroundColor: "rgba(0,255,0,0.5)",                   
                fill: false,
                data: [{
                    x: newDate(0),
                    y: 34
                }, {
                    x: newDate(1),
                    y: 22
                }, {
                    x: newDate(4),
                    y: 2
                }, {
                    x: newDate(5),
                    y: 13
                }]
            }]
    };
var json_str = '{"Values":{"2018-01-16 09:24:34":"10","2018-01-16 19:24:31":"5","2018-01-17 09:24:33":"8","2018-01-18 09:24:35":"9"}}'
var json = JSON.parse(json_str);

var data = [];
for (var d in json.Values) {
    console.log(d, json.Values[d]);
    data.push({
        x : new Date(d),
        y : json.Values[d]
    })
}
var dataset = {
    label : "c",
    backgroundColor : "rgba(0,0,255,0.5)",
    borderColor : 'green',
    fill : false,
    data : data
};
// add to existing datasets
adddata.push(dataset);
现在如果我有一个json,它看起来像:

{"Values":{"2018-01-17 09:24:34":"0","2018-01-17 09:24:31":"0","2018-01-17 09:24:33":"0","2018-01-17 09:24:35":"0"}} 

是否可以创建定义单个点的数据集?

您可以解析JSON字符串,并将生成的JSON对象转换为数据集,如下所示:

var adddata = {     
    datasets: [{
                label: "a",
                backgroundColor: "rgba(255,0,0,0.5)",               
                fill: false,
                data: [{
                    x: newDateString(0),
                    y: 22
                }, {
                    x: newDateString(2),
                    y: 25
                }, {
                    x: newDateString(4),
                    y: 12
                }, {
                    x: newDateString(5),
                    y: 22
                }],
            }, {
                label: "b",
                backgroundColor: "rgba(0,255,0,0.5)",                   
                fill: false,
                data: [{
                    x: newDate(0),
                    y: 34
                }, {
                    x: newDate(1),
                    y: 22
                }, {
                    x: newDate(4),
                    y: 2
                }, {
                    x: newDate(5),
                    y: 13
                }]
            }]
    };
var json_str = '{"Values":{"2018-01-16 09:24:34":"10","2018-01-16 19:24:31":"5","2018-01-17 09:24:33":"8","2018-01-18 09:24:35":"9"}}'
var json = JSON.parse(json_str);

var data = [];
for (var d in json.Values) {
    console.log(d, json.Values[d]);
    data.push({
        x : new Date(d),
        y : json.Values[d]
    })
}
var dataset = {
    label : "c",
    backgroundColor : "rgba(0,0,255,0.5)",
    borderColor : 'green',
    fill : false,
    data : data
};
// add to existing datasets
adddata.push(dataset);

结果如下:

您可以解析JSON字符串并将生成的JSON对象转换为数据集,如下所示:

var adddata = {     
    datasets: [{
                label: "a",
                backgroundColor: "rgba(255,0,0,0.5)",               
                fill: false,
                data: [{
                    x: newDateString(0),
                    y: 22
                }, {
                    x: newDateString(2),
                    y: 25
                }, {
                    x: newDateString(4),
                    y: 12
                }, {
                    x: newDateString(5),
                    y: 22
                }],
            }, {
                label: "b",
                backgroundColor: "rgba(0,255,0,0.5)",                   
                fill: false,
                data: [{
                    x: newDate(0),
                    y: 34
                }, {
                    x: newDate(1),
                    y: 22
                }, {
                    x: newDate(4),
                    y: 2
                }, {
                    x: newDate(5),
                    y: 13
                }]
            }]
    };
var json_str = '{"Values":{"2018-01-16 09:24:34":"10","2018-01-16 19:24:31":"5","2018-01-17 09:24:33":"8","2018-01-18 09:24:35":"9"}}'
var json = JSON.parse(json_str);

var data = [];
for (var d in json.Values) {
    console.log(d, json.Values[d]);
    data.push({
        x : new Date(d),
        y : json.Values[d]
    })
}
var dataset = {
    label : "c",
    backgroundColor : "rgba(0,0,255,0.5)",
    borderColor : 'green',
    fill : false,
    data : data
};
// add to existing datasets
adddata.push(dataset);
这就是结果: