我使用的是有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;
}
但问题是太多的颜色具有相同的same,因此这些节点是可识别的。如何生成颜色和每种颜色应该是唯一的其他相同的sades的颜色。
https://stackoverflow.com/questions/20547163
复制相似问题