javascript中可区分的颜色生成

Ben*_*ier 7 javascript colors

我想知道是否有一个简单的算法(或jQuery插件)来选择可区分的颜色,最多约20种不同的颜色.如果没有,我在哪里可以找到一系列可以直接使用的可区分颜色?

我的用例是为饼图生成不同的颜色.

Tom*_*icz 6

我的想法是从HSV颜色模型开始,并以最大饱和度和值来绕着周边(色调)走动:

function hsvToRgb(h, s, v) {
  //... see e.g.: http://snipplr.com/view/14590
}

function distinctColors(count) {
    var colors = [];
    for(hue = 0; hue < 360; hue += 360 / count) {
        colors.push(hsvToRgb(hue, 100, 100));
    }
    return colors;
}
Run Code Online (Sandbox Code Playgroud)

distinctColors(10)生产:

[[255, 0, 0], [255, 153, 0], [204, 255, 0], [51, 255, 0], [0, 255, 102], [0, 255, 255], [0, 102, 255], [51, 0, 255], [204, 0, 255], [255, 0, 153]]
Run Code Online (Sandbox Code Playgroud)

仅通过查看RGB值很难说,但它们应尽可能不同.我hsvToRgb()这里开始实施.