更改彩虹虫的颜色
问题描述:
我正在使用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