Как отправить данные Firestore в ChartJS?

Как отправить данные Firestore в ChartJS?

Для каждого doc в snapshot вы выполняете var myChart = new Chart() , каждый раз создавая новую диаграмму.

Вы должны построить свои массивы data и labels в forEach а затем ( вне forEach ) создать новую диаграмму и передать ей массивы.

Что-то вроде следующего (не проверено):

 var labelsArray = []; var dataArray = []; db.collection('Items').get().then((snapshot) ={amp}gt; { snapshot.docs.forEach(doc ={amp}gt; { var item = doc.data(); var price = item.price; dataArray.push(price); var date = item.date; labelsArray.push(date); }); }); var ctx = document.getElementById("myChart"); var myChart = new Chart(ctx, { type: 'line', data: { labels: labelsArray, datasets: [{ label: 'Items', data: dataArray , }] }, options: { scales: { yAxes: [{ ticks: { beginAtZero:true } }] }, // Container for pan options pan: { // Boolean to enable panning enabled: true, // Panning directions. mode: 'x', speed: 1 }, // Container for zoom options zoom: { // enable zooming enabled: true, // Zooming directions. mode: 'x', } } }); 
Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector