d3将颜色映射到值以外的值,因为颜色在值相等时被复制

时间:2014-04-30 13:52:24

标签: javascript d3.js

当数组中的值彼此相等时,颜色将相同。这是一个例子:

http://jsfiddle.net/featherita/8SkG9/1/

即使值相等,这也是我想要它做的事情:

http://jsfiddle.net/featherita/8SkG9/

它发生在堆积的条形图上,它使y轴和饼图向左,因为我用颜色数组填充值。

如果你将bottom和top =设置为另一个,它们都将采用数组的第一种颜色。

"threshRange":[{ "bottom": 6, "middle": 4, "top": 7 }],

如果将SiteStatus.slice =中的第一个和最后一个值设置为彼此,它们也将呈现相同的颜色。

"slice":[16,84] *** in the first node and "slice":[16,84] *** in the last node

这会在数据自动传递时出现问题,是否有更好的方法进行设置,以便它们始终采用数组中的下一种颜色,绿色,黄色,红色?

1 个答案:

答案 0 :(得分:1)

您可以简单地使用(在本例中为parent)元素的索引而不是值来确定填充:

.style("fill", function (d, i, j) { return color(j); });

完整演示here