$scope.chartSeries= [{"name":"Tokyo","data":["0"," 0.9"," 0.5"," 0.5"," 0.2"," 0.5"," 0.2"," 0.5"," 2.3"," 1.3"," 1.9"," 0.6"]},{"name":"New York","data":["-0.2"," 0.8"," 5.7"," 11.3"," 17.0"," 22.0"," 24.8"," 24.1"," 20.1"," 14.1"," 8.6"," 2.5"]},{"name":"Berlin","data":["-0.9"," 0.6"," 3.5"," 8.4"," 13.5"," 17.0"," 18.6"," 17.9"," 14.3"," 9.0"," 3.9"," 1.0"]},{"name":"London","data":["3.9"," 4.2"," 5.7"," 8.5"," 11.9"," 15.2"," 17.0"," 16.6"," 14.2"," 10.3"," 6.6"," 4.8"]}]
当我使用series: $scope.chartSeries
时,我的图表无法运行。
但是当我硬编码时,也就是
series: [{
name: 'Tokyo',
data: [7.0, 6.9, 9.5, 14.5, 18.4, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]
}, {
name: 'London',
data: [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8]
}]
我的代码运行顺利。我错过了什么?我想使用series: $scope.chartSeries
var chartSeriesArray=[];
$http.get(url + "?GraphId="+$scope.graph.GraphId)
.success(function (response) {
for (var i = 0; i < response.records.length; i++)
{
chartSeriesArray.push({
"name": response.records[i].name,
"data": response.records[i].data.split(",")
});
}
console.log(JSON.stringify(chartSeriesArray));
//chartSeriesArray=[{"name":"Tokyo","data":["0"," 0.9"," 0.5"," 0.5"," 0.2"," 0.5"," 0.2"," 0.5"," 2.3"," 1.3"," 1.9"," 0.6"]},{"name":"New York","data":["-0.2"," 0.8"," 5.7"," 11.3"," 17.0"," 22.0"," 24.8"," 24.1"," 20.1"," 14.1"," 8.6"," 2.5"]},{"name":"Berlin","data":["-0.9"," 0.6"," 3.5"," 8.4"," 13.5"," 17.0"," 18.6"," 17.9"," 14.3"," 9.0"," 3.9"," 1.0"]},{"name":"London","data":["3.9"," 4.2"," 5.7"," 8.5"," 11.9"," 15.2"," 17.0"," 16.6"," 14.2"," 10.3"," 6.6"," 4.8"]}]
$scope.chartSeries = chartSeriesArray;
}
您以错误的格式分配数据。这应该可以解决这个问题:
for (var i = 0; i < response.records.length; i++)
{
var cityData =
{
name:response.records[i].name,
data:response.records[i].data.map(Number)
}
chartSeriesArray.push(cityData );
}
也许问题是,你的数据是字符串的数组,它应该是一个数组的数字,所以你可能需要映射字符串s到数字:response.records[i].data.map(Number)
所有四个对象的第一个和最后一个数据条目都是错误的。
$scope.chartSeries[0].data[0] = [7.0
$scope.chartSeries[0].data[11] = 9.6]
要么从服务器端删除并使数据有效(首选方法),要么通过一些客户端技巧使数据有效