图表的图像具有黑色背景(Chart.js v4.3.0)

mqxuamgl  于 2023-06-22  发布在  Chart.js
关注(0)|答案(1)|浏览(163)

当我复制绘制的图表的图像时,我得到的背景是黑色的。有没有办法把它变成白色或我想要的任何其他颜色?

wz1wpwve

wz1wpwve1#

这可以通过使用Canvas和afterRender钩子来完成。使用afterRender钩子创建你的插件,当调用它时,它会获取chart.js元素的画布,并更改它的fillStyle
插件:

const plugin = {
    id: 'after-render',
    
    afterRender: (c) => {
        const ctx = document.getElementById('containerId').getContext('2d');
        ctx.save();
        // The next line is essential to prevent unusual behavior.
        // As it causes the whole chart to go blank, when removed
        // Technique is taken from:
        // https://stackoverflow.com/a/50126796/165164
        ctx.globalCompositeOperation = 'destination-over';
        ctx.fillStyle = 'white';
        ctx.fillRect(0, 0, c.width, c.height);
        ctx.restore();
    }
};

containerId更改为您在html canvas标记中传递的id。
然后,在Chart构造函数的plugins选项中传递这个插件:

new Chart(document.getElementById('consumptions'), {
        // ... options
        plugins: [plugin],
    })
};

相关问题