我使用d3绘制条形图,其中条形图用于比较不同的组(例如男/女)。为了填充我采取一种颜色,在数据文件(json)中安全,并使用d3.rgb()更改它。更暗/更亮。
.attr("fill", function(d){return d3.rgb(d.color).darker(1);})
它适用于Firefox,但在Internet Explorer 9中,所有条形都显示为黑色(这是第一个使用的颜色)。我想知道这是否只是这个浏览器的特定问题,或者我是否遗漏了一些东西以避免这种行为。
一种解决方案当然是单独分配颜色,但如果可能的话,我想使用提供的可能性。
答案 0 :(得分:11)
这是因为您使用attr("fill")
而不是style("fill")
来设置样式属性。
style
函数包括一些额外的检查,以便在需要时将属性值转换为适当的字符串,因此您无需手动执行toString()
。
将原始行更改为:
.style("fill", function(d){return d3.rgb(d.color).darker(1);})
应适用于包括IE在内的所有浏览器。