javascript - javascript中可区分的颜色生成

标签 javascript colors

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

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

最佳答案

我的想法是从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;
}

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]]

仅看 RGB 值很难分辨,但它们应该尽可能不同。我从 here 中获取了 hsvToRgb() 实现.

关于javascript - javascript中可区分的颜色生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8987319/

相关文章:

javascript - 如何解决并非所有代码路径都返回值的问题?

javascript - qTip 未显示在其他 javascript 代码动态添加的元素上

python - 有没有办法将数字转换为颜色

javascript - 更改 onclick 文本颜色在某些文本中不起作用

html - 如何改变<hr>标签的粗细和颜色?

xaml - Visual Studio 2015 XAML 编辑器文本颜色

r - ggplot2 中相似数据的相似颜色

javascript - 如何在 javascript sessionstorage/HTML5 中动态创建数组

javascript - 在 Ember 中添加新元素到 DOM

javascript - 适用于 Mac 的免费应用程序,用于混淆和缩小 javascript/php/html