javascript - 改变彩虹蠕虫的颜色

标签 javascript css d3.js

我正在使用 Mike Bostock 的 Rainbow Worm 作为我元素的一部分。 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

关于javascript - 改变彩虹蠕虫的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44280448/

相关文章:

javascript - 简单的 <script> 标签 - Access-Control-Allow-Origin 不允许 Origin null

javascript - Vue.js中使用动态路由匹配时如何实现 "in-out mode"转场效果?

javascript - css-grid 在 Firefox 和 Chrome 中呈现不同

javascript - 无法使用 angularjs 读取 json

html - 无法让我的菜单看起来正确,我做错了什么?

javascript - Internet Explorer 11 中使用 D3.js 处理异常鼠标悬停

html - 从 maxcdn 服务器获取 css 时覆盖不使用 Bootstrap

html - 在 Bootstrap 行中添加背景图像

javascript - 查找阿基米德螺线上某个点的 x,y 坐标

javascript - 将csv加载到nvd3中以制作离散条形图