d3.rgb()。更暗/亮

时间:2013-03-23 16:12:34

标签: colors internet-explorer-9 d3.js

我使用d3绘制条形图,其中条形图用于比较不同的组(例如男/女)。为了填充我采取一种颜色,在数据文件(json)中安全,并使用d3.rgb()更改它。更暗/更亮。

.attr("fill", function(d){return d3.rgb(d.color).darker(1);})

它适用于Firefox,但在Internet Explorer 9中,所有条形都显示为黑色(这是第一个使用的颜色)。我想知道这是否只是这个浏览器的特定问题,或者我是否遗漏了一些东西以避免这种行为。

一种解决方案当然是单独分配颜色,但如果可能的话,我想使用提供的可能性。

1 个答案:

答案 0 :(得分:11)

这是因为您使用attr("fill")而不是style("fill")来设置样式属性。

style函数包括一些额外的检查,以便在需要时将属性值转换为适当的字符串,因此您无需手动执行toString()

将原始行更改为:

.style("fill", function(d){return d3.rgb(d.color).darker(1);})

应适用于包括IE在内的所有浏览器。