我在将数据解析到图表时遇到问题。 可以肯定的是,这应该包含在我使用getJSON并且不想使用ajax的自动过程中,所以我有:
$.getJSON('file.json').done( function (results) {
var labels = [];
var data = [];
var labels = results.map(function (item) {
return item.updatedLaels
});
var data = results.map(function (item) {
return item.updatedData;
});
console.log(labels)
console.log(data)
});
因此,标签和数据当然会以适当的方式记录到控制台中,例如:
(5) [1,2,3,4,5]
但是在本部分中如何使用它:
var myChart = new Chart(ctx, {
type: 'line',
data: {
labels: labels,
datasets: [{
label: 'Example',
data: data,
borderColor: 'rgba(75, 192, 192, 1)',
backgroundColor: 'rgba(75, 192, 192, 0.2)',
}]
},
});
因为index.html会生成一个没有数据的空图表。如何以正确的方式映射标签和数据?
答案 0 :(得分:2)
labels
和data
变量位于undefined
的{{1}} $.getJSON
函数之外的done
。
您可以在callback
中调用函数,即done
,也可以将图表代码带入createChart(labels, data)
done
$.getJSON('file.json').done( function (results) {
var labels = [];
var data = [];
var labels = results.map(function (item) {
return item.updatedLabels
});
var data = results.map(function (item) {
return item.updatedData;
});
// Create chart
createChart(labels, data);
});