在chart.js中更新

问题描述 投票:0回答:1

我正在尝试弄清楚如何更新chart.js图表​​。 Google返回了很多答案,我认为其中有些已经过时,因为我似乎无法获得任何解决方案。文档页面上说只使用chartname.update(),但它似乎对我不起作用。我已经检查过控制台以确保图表对象正在更新。由于某种原因,页面上的图表本身没有改变。

let chartContainer = document.getElementById('charts');
let overview = {
    create: function () {
        let chartCanvas = document.createElement('canvas');
        chartCanvas.id = 'overviewChart';
        chartCanvas.appendChild(document.createTextNode('test'));
        chartContainer.appendChild(chartCanvas);
        let overviewChart = document.getElementById('overviewChart').getContext('2d');
        renderChart = new Chart(overviewChart, {
            type: 'bar',
            data: {
                labels:subjectList,
                datasets: [{
                    barThickness: 'flex',
                    label: 'Completed Credits',
                    data: []
                }]
            },
            options: {

            }
        })
    },
    reload: function() {
        console.log('reloaded overview chart');
        renderChart.data.datasets.data = [];
        for (subject in classes) {
            console.log('adding: ' + classes[subject].count)
            renderChart.data.datasets.data.push(classes[subject].count);
        }
        renderChart.update();
    }
}

function reloadCharts() {
    overview.reload();
}

overview.create();
javascript chart.js chart.js2
1个回答
0
投票
reload: function() { // renderChart.data.datasets.data = []; // old renderChart.data.datasets[0].data = []; // new for (subject in classes) { console.log('adding: ' + classes[subject].count) // renderChart.data.datasets.data.push(classes[subject].count); // old renderChart.data.datasets[0].data.push(classes[subject].count); // new } renderChart.update(); }
© www.soinside.com 2019 - 2024. All rights reserved.