Chartjs Donut在倒计时中平滑动画

时间:2018-01-05 14:01:08

标签: javascript angular animation charts chart.js

我正在使用Chart.js的圆环图来显示60秒计时器图表。

Gif:https://imgur.com/UmhqzuO

options = {
    tooltips: {enabled: false},
    cutoutPercentage: 75,
    animation: {duration: 1}
};

data = {
    datasets: [
        {
            data: [this.percentage, 100 - this.percentage],
            backgroundColor: [this.color, this.fillColor]
        },
    ]
};

每一秒,我都会更新图表以反映秒数。计时器从60秒开始,然后变为0.当前的动画感觉像是滴答作响。我希望动画看起来像一个清晰的时钟,而不是滴答作响。

如何实现扫描动画?由于图表在每秒后重新绘制,我如何保持最后一个位置并从该位置更新?

1 个答案:

答案 0 :(得分:1)

我使用

实现了这一目标
        const data = this.getDataSet();
        this.doughnut.chart.data.datasets[0].backgroundColor = data.backgroundColor;
        this.doughnut.chart.data.datasets[0].data = data.data;
        this.doughnut.chart.update();