2013-07-24 47 views
2

我想用d3.js构建一个气泡图。我希望我的泡泡颜色根据日期填充。我用下面的功能来生成基于给定的日期颜色:d3.time.scale()在IE 10和Firefox上没有工作日期输入

color = d3.time.scale().domain([new Date('2013-07-23'), new Date('2013-06-01')]).range(['#98E698', '#1E7B1E']); 

以及在创建图表,我叫它

.style("fill", function(d) {return colour(new Date("2013-07-8")); }); 

上面的代码只对Chrome的工作的罚款。在IE 10和Firefox中,color函数返回NaN而不是颜色代码。为什么?

+0

尝试使用像d3.select(本).style( “补”,currentColor); – Amol

回答

3
return color(new Date("2013-07-08")) 

color拼写正确,并且在IE10的8个作品的前面有一个0。阅读new Date(string)documentation,它看起来像预计的two digit month。在Chrome:

在IE10
>new Date("2013-07-8") 
Mon Jul 08 2013 00:00:00 GMT-0700 (Pacific Daylight Time) 

>new Date("2013-07-8") 
Invalid Date 
>new Date("2013-07-08") 
Sun Jul 7 17:00:00 PDT 2013 

要解决这个问题 - 添零清理您的日期,必要时也可以使用[d3.time.format]改变字符串成日期3

>var format = d3.time.format("%Y-%m-%d"); 
>format.parse("2013-07-8") 
Mon Jul 8 00:00:00 PDT 2013 

(这部作品在IE10)

+0

它的工作!非常感谢你的帮助 – sunil

相关问题