ChartJs从数组创建图表

时间:2018-09-05 10:25:40

标签: javascript chart.js

我正在通过ajax获取ChartJs图表的数据和标签,并由此创建了一个数组。

当我创建一个console.log时,该数组看起来可以正常工作,但是该图表没有标签,也没有数据。

我在这里找到了this个问题,但并没有解决问题。

这是我的chartJs代码:

               config = {
                    type: 'bar',
                    data: {
                        labels: labels,
                        datasets: [{
                            label: "Aufrufe",
                            data: dataarray,
                            backgroundColor: 'rgba(0, 188, 212, 0.8)'
                        }]
                    },
                    options: {
                        responsive: true,
                        legend: false
                    }
                }

以及我从console.log获得的数组:

enter image description here

这就是我创建数组的方式:

/* create a labels array */
                        while(year !== (new Date).getFullYear() || month !== enddate) {
                            console.log(year, month);
                            labels.push(month + " " + year);
                            month++;
                            if(month === 13) {
                                year++;
                                month = 1;
                            }

                        }

但是图表只是一个空图表...

1 个答案:

答案 0 :(得分:0)

问题在于Ajax请求是异步的。因此,该图表是在没有任何数据的情况下绘制的。

ajax请求必须具有async: false,,以便可以加载数据,然后图表将与数据一起绘制。