我使用以下代码绘制任意数量的行,其中allLines
是一个对象数组的数组,这样每个对象数组都会产生一条线。现在所有的线都是相同的颜色。 我如何才能使每个人都成为一种独特的颜色?我正在寻找一种不会涉及使用{* 1}}
nest()
答案 0 :(得分:0)
您可以使用其中一个predefined scales,例如d3.scale.category20()
。你像任何其他D3规模一样使用它:
var colours = d3.scale.category20();
colours(someData);
colours(someOtherData);
对于你的行,你有一个数组作为数据,所以不会直接工作。但是,您可以根据行的值计算某些内容并使用它,例如
.attr("stroke", function(d) {
return colors(d3.sum(d, function(e) {
return e.whateverTheNumberThatDeterminesTheLineIs;
}));
})