更改彩虹虫的颜色

问题描述:

我正在使用Mike Bostock的彩虹虫作为我的项目的一部分。 https://bl.ocks.org/mbostock/4165404更改彩虹虫的颜色

我试图改变蠕虫的颜色,因为它会在项目代表风速。着色描述了这个功能:

var path = svg.selectAll("path") 
.data(quad(points)) 
.enter().append("path") 
.style("fill", function(d) { return d3.hsl(z(d[1].value), 1, .5); }) 
.style("stroke", "#000"); 

如果我用“颜色”替换函数(d),蠕虫将会是单色的。 我怎样才能让蠕虫部分颜色为红色 - >白色 - >红色 - >白色 - >红色 - >白色等等?

使用索引(第二个参数)和remainder operator

.style("fill", function(d,i) { return i%2 ? "red" : "white" }) 

这就是这个片段做:

第二个参数,这里命名i,是每个数据的指数 ,从0到data.length - 1

然后,利用其余操作...

i % 2 

...我们会得到一系列的零和一的:

010101010101010101... 

正如在JavaScript(和所有的语言我意识到)0是虚假的,高等运营商会交替返回“白色”和“红色”。

这里是bl.ocks:http://bl.ocks.org/anonymous/fd5c1e6644d742e43c737ff4a17f96ff