chart.js饼图背景颜色:有没有办法随机生成它们?

pet*_*ner 1 javascript chart.js

我正在使用图表JS绘制一个饼图,其中包含数据库中的一些数据.问题是我不知道图表上可能出现多少元素,因此生成背景颜色有点困难.

有没有选项,所以图表js会随机生成这些颜色?

nic*_*ank 5

不,chartjs没有这个选项.

我想你有两个选择:

  • 如果您知道最大值(例如:不会超过10个值),那么您可以创建一个包含10种颜色的数组并将第一种颜色分配给您拥有的元素(例如:如果您有5个元素,则指定第一个颜色它们有5种颜色).你可以很容易地随机化,例如在数组中开始赋值的位置,每次仍然得到不同的颜色集.

    如果您希望保持颜色与特定颜色主题相匹配,则此方法即可.

  • 如果您不关心颜色主题,我认为最简单的方法是随机生成颜色.使用此功能,您只能希望不会获得两倍相同的颜色(非常不可能):

function getRandomColor() {
    var letters = '0123456789ABCDEF';
    var color = '#';
    for (var i = 0; i < 6; i++ ) {
        color += letters[Math.floor(Math.random() * 16)];
    }
    return color;
}

console.log(getRandomColor());
Run Code Online (Sandbox Code Playgroud)