【发布时间】:2019-02-25 13:09:57
【问题描述】:
我在从 firebase 数据中绘制 chartjs 中的数据时遇到问题。 ChartJS 只显示列表中的最后一个数据。我能够获取对象数据,但是 chartJS 仅在图表上绘制最后和最新的数据。
链接:
firebase database node chartjs only shows the last data
function gotData(data){
//console.log(data.val());
var records = data.val();
var keys = Object.keys(records);
console.log(keys);
for (var i = 0; i < keys.length; i++){
var k = keys[i];
var sys = records[k].systolicpressure;
var dia = records[k].diastolicpressure;
var time = records[k].time;
console.log(sys, dia, time);
var myChart = new Chart(ctx, {
type: 'line',
data: {
labels: [time],
datasets: [{
label: 'Blood Pressure Graph',
data: [sys]
}]
},
options: {
scales: {
yAxes: [{
ticks: {
beginAtZero:true
}
}],
xAxes: [{
time: {
unit:'hour'
}
}]
}
}
});
}
}
【问题讨论】:
-
您每次都在循环内创建一个新图表。您应该在循环外声明一个数组,将数据填充到循环内的该数组中,然后在循环后使用该数组填充图表数据
标签: javascript firebase firebase-realtime-database chart.js google-cloud-functions