d3.rgb().更暗/亮

Her*_*ert 1 colors internet-explorer-9 d3.js

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

.attr("fill", function(d){return d3.rgb(d.color).darker(1);})
Run Code Online (Sandbox Code Playgroud)

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

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

dal*_*ane 12

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

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

将原始行更改为:

.style("fill", function(d){return d3.rgb(d.color).darker(1);})
Run Code Online (Sandbox Code Playgroud)

应该适用于所有浏览器,包括IE.