我正在尝试使用canvas js创建条形图。现在问题是,当我使用图形将值分配给显示时,它会采用其他一些对象格式,
[object Object], [object Object],...
所以当我通过res.send()发送数据时似乎没问题。它的原始格式是,
[ { label: '102', y: '80' },
{ label: '102', y: '60' },
{ label: '102', y: '80' },
{ label: '102', y: '50' } ]
所以我的Javascript代码是,
$.ajax({
type: 'POST',
data: JSON.stringify(obj),
contentType: 'application/json',
url: 'http://localhost:3000/result',
error: function () {
console.log("Not working");
}
}).done(function (result) {
console.log(result);
var chart = new CanvasJS.Chart("chartContainer", {
theme: "theme1",
title: {
text: "Something"
},
animationEnabled: false,
data: [
{
type: "bar",
dataPoints: result // actual problem lies here!
}
]
});
chart.render();
});
我做错了什么以及如何解决这个问题?
答案 0 :(得分:1)
将结果传递给此函数,然后
function convertdata(json) {
var chartData = [];
for (var i = 0, l = json.length; i < l; i++) {
var value = parseFloat(json[i].label) + parseFloat(json[i].y);
chartData.push({ c: [{ v: json[i].Label }, { v: value }] });
}
}
将图表数据分配给图表以进行渲染