我正在使用力导向图,其中我有1000个节点。我想显示每个节点有不同的颜色。那些节点应该可以在其他节点中识别。
我使用了以下d3颜色
var color = d3.scale.category20();
但问题是它之后只会产生20种颜色,再次开始为不同的组使用相同的颜色。
我使用以下代码使用javascript创建了1000种独特的颜色:
var color = [];
for(i=0;i<1000;i++){
/* var randomcolor = '#'+Math.floor(Math.random()*16777215).toString(16);
color[i] = randomcolor;*/
/* var x=Math.round(0xffffff * Math.random()).toString(16);
var y=(6-x.length);
var z="000000";
var z1 = z.substring(0,y);
//var randcolor= "#" + z1 + x;
var randcolor = '#'+(Math.random()*0xFF0000<<0).toString(16);
color[i] = randcolor;
*/
var letters = '0123456789ABCDEF'.split('');
var randcolor = '#';
for (var j = 0; j < 6; j++ ) {
randcolor += letters[Math.round(Math.random() * 15)];
}
color[i]= randcolor;
}
但问题是这么多颜色具有相同的sades,所以这些节点是可识别的。如何生成颜色,每种颜色应该与其他颜色相同。
答案 0 :(得分:0)
如果有帮助,这里有一个相关的答案: https://stackoverflow.com/a/25302128/9972273
您有随机的颜色生成器,可以生成无限多种颜色。低于1000。
ValueError: too many values to unpack