我使用 d3 完成了一个动态条形图,它在谷歌浏览器中非常完美。
但是,它在 IE11 中不起作用。
这里是 my code
问题是:
只画背景表格,条形图不行。 下面是IE中的实际情况 My code run in IE
您可以看到第一部分,绘制背景在 IE 中完美运行,但是条形图被遗漏并且运行没有任何错误。
我使用
svg.polygon
来绘制星星,我将绘制星星的代码分为两部分:第一部分我在表格内绘制(在条形图上),第二部分我画在表外,曾经是图例。
图例中的星星可以正常打印,但是表格中的所有星星都被漏掉了,IE给出了错误代码:
SVG4602: SVG Point list has incorrect format and could not be completely parsed.
最佳答案
我解决了我的问题。
代码引起的问题
linear((new Date(d.collect_date) - starttime)/cal_hour+16)
在 IE 中,它不能运行代码 new Date(d.collect_date)
因为一些日期设置(我猜)
所以在这种情况下,linear(...) 这段代码不会返回任何东西,它最终不会打印出任何条形图。
所以我找到了改变获取日期方式的方法,它成功打印了条形字符,表格中的星星也是同样的问题。
所以我把所有的get x location方法改成:
var temp_x = d.start.split(" ");
var temp_y = temp_x[0].split("-");
var temp_z = temp_x[1].split(":");
return linear((new Date(new Date(temp_y[0],(temp_y[1]-1),temp_y[2],temp_z[0],temp_z[1],temp_z[2])) - starttime)/cal_hour+16);
它适用于 chrome 和 IE
关于javascript - d3 svg 绘制矩形条形图在 IE11 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55117030/