gpt4 book ai didi

firefox - nvd3 图形无法在 firefox 中正确加载

转载 作者:行者123 更新时间:2023-12-02 04:34:57 25 4
gpt4 key购买 nike

参见 here对于在 Firefox 中无法为我正确加载的简单示例的 JSFiddle。它在 JSFiddle 和 Chrome 中完美运行,但在 Firefox 中运行不佳。

在 Firefox 中,它只是在图表的最左侧绘制一些线,即基本上在 y 轴上,并表示开始时间是 31-12-1969 23:59:59。

让我觉得 Firefox 创建 Javascript 日期的方式可能有所不同?远射...

谁能阐明为什么会这样?

代码在这里:

   nv.addGraph(function() {
var chart = nv.models.lineChart()
.margin({left: 100, bottom: 120})
.useInteractiveGuideline(true)
.transitionDuration(350)
.showLegend(true)
.showYAxis(true)
.showXAxis(true);

chart.xAxis
.rotateLabels(-45)
.tickFormat(function(d) { return d3.time.format('%d-%m-%Y %H:%M:%S')(new Date(d)) });

chart.yAxis
.axisLabel('Latency (ms)')
.tickFormat(d3.format('.0f'));

var service1Data = {"values":[{"x":"2014-03-03 10:00:00 UTC","y":100},{"x":"2014-03-03 11:00:00 UTC","y":200},{"x":"2014-03-03 20:00:00 UTC","y":50}],"key":"service1","color":"#ff7f0e"};
var service2Data = {"values":[{"x":"2014-03-03 10:00:00 UTC","y":200},{"x":"2014-03-03 11:00:00 UTC","y":300}],"key":"service2","color":"#3c9fad"};


// Make the dates easy for d3 to work with
service1Data["values"].forEach(function(hash) {
hash["x"] = new Date(hash["x"]);
});

service2Data["values"].forEach(function(hash) {
hash["x"] = new Date(hash["x"]);
});

var serviceData = [service1Data, service2Data];

d3.select('#chart_latency svg')
.datum(serviceData)
.call(chart);

//Update the chart when window resizes.
nv.utils.windowResize(function() { chart.update() });
return chart;
});

最佳答案

你依赖于浏览器的内部 Date constructor从字符串创建日期,因此在其内部 Date parsing function .虽然 Chrome 能够识别您的非标准日期字符串,但 Firefox 不能。

您可以使用 D3 date format object 来避免歧义进行日期解析:

var dateFormatIn =  d3.time.format.utc('%Y-%m-%d %H:%M:%S UTC');

service2Data["values"].forEach(function(hash) {
hash["x"] = dateFormatIn.parse(hash["x"]);
});

http://jsfiddle.net/yzA32/4/

顺便说一句,您可以在图表对象上设置一个 x-accessor 函数,而不是使用 for 循环遍历您的数据数组并解析日期:

      var chart = nv.models.lineChart()
.x(function(d){return dateFormatIn.parse(d.x);})

http://jsfiddle.net/yzA32/5/

关于firefox - nvd3 图形无法在 firefox 中正确加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22175809/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com