我想生成RGB格式的浅色。 人类应该能够轻松区分这些颜色。 我想要一个使用Javascript的解决方案。 我做了什么:
var getRandom = function(min, max) {
return (Math.random() * (max - min) + min);
};
var randomColorGenerator = function(index) {
var p = getRandom(0,10)/10;
var q = getRandom(0,10)/10;
var r = getRandom(0,10)/10;
var max=235;
var min= 150;
var rgb = [Math.floor(min + p*(max-min)), Math.floor(min + q*(max-min)), Math.floor(min + r*(max-min))];
return rgb;
}
如您所见,它可以生成颜色,但是我们不确定会获得不同的颜色...
解决方案可以是:
当距离d(u,v)= sqrt [(u(r)-v(r))^ 2 + ... +(u(b)-v(b))^ 2时,两种颜色u,v相似。 ] / [sqrt(3)* 255] 但是我在这里讨论它,关于一种有效的算法。
基本上,我将在图表上使用它(图表Js)来生成可读的甜甜圈。
我认为我们可以将图表元素按三个元素进行分组。 如果您想了解更多信息,请让我知道;) 谢谢。
答案 0 :(得分:1)
创建图表后,我只需定义一个我已经知道看起来很好并且可以区分的颜色列表,然后以指定的顺序使用它们(如果需要,可以循环回到第一个)。我认为这是确保图表既可读又美观的最可靠方法。
如果您的问题纯粹是理论性的,我什么也不会说,但是既然您说过:
基本上,我将在图表(图表Js)上使用它来生成可读的甜甜圈。我认为我们可以将图表元素按三个元素进行分组。
我只想为此提供两美分;我本来只是发表评论,但我的Stack Overflow名声还不够高。