Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Colors d3.rgb().较暗/较亮_Colors_Internet Explorer 9_D3.js - Fatal编程技术网

Colors d3.rgb().较暗/较亮

Colors d3.rgb().较暗/较亮,colors,internet-explorer-9,d3.js,Colors,Internet Explorer 9,D3.js,我用d3绘制了一个条形图,其中的条形图用于比较不同的群体,例如男性/女性。对于填充,我采用数据文件json中安全的颜色,并使用d3.rgb.darker/brighter对其进行更改 .attr("fill", function(d){return d3.rgb(d.color).darker(1);}) 它在firefox中工作,但在InternetExplorer9中,所有的条都显示为黑色,这是第一个使用的颜色。我想知道这是否只是这个浏览器的一个具体问题,或者我是否遗漏了一些可以避免这种行

我用d3绘制了一个条形图,其中的条形图用于比较不同的群体,例如男性/女性。对于填充,我采用数据文件json中安全的颜色,并使用d3.rgb.darker/brighter对其进行更改

.attr("fill", function(d){return d3.rgb(d.color).darker(1);})
它在firefox中工作,但在InternetExplorer9中,所有的条都显示为黑色,这是第一个使用的颜色。我想知道这是否只是这个浏览器的一个具体问题,或者我是否遗漏了一些可以避免这种行为的东西


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

发生这种情况是因为您使用attrfill而不是stylefill来设置样式属性

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

将原始行更改为:

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

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

发生这种情况是因为您使用attrfill而不是stylefill来设置样式属性

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

将原始行更改为:

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

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

如果不使用d3.rgb,只需硬编码颜色,如return f00;–它在IE9中显示为红色吗?如果不是,则表明是其他原因导致了问题。是的,这与预期的效果相同,因此问题似乎在于较暗/较亮的函数。如果下面的结果有所不同,我会非常惊讶,但请尝试返回d3.rgbd.color.darker1.toString。另外,console.log的颜色,看看是否有什么看起来奇怪。添加到字符串的技巧,谢谢。如果不使用d3.rgb,您只需硬编码一种颜色-如返回f00;–它在IE9中显示为红色吗?如果不是,则表明是其他原因导致了问题。是的,这与预期的效果相同,因此问题似乎在于较暗/较亮的函数。如果下面的结果有所不同,我会非常惊讶,但请尝试返回d3.rgbd.color.darker1.toString。另外,console.log的颜色,看看是否有什么看起来奇怪。添加到字符串的技巧,谢谢。