转换现有的d3实时流线形图以使用经过的秒数代替时间

时间:2019-04-18 18:41:00

标签: javascript d3.js

对于D3来说还是相对较新的东西,而我正在寻找的功能是实时流线形图,实时提供新数据。我在网上遇到了一个示例,正是我想要实现的一个示例,其中有一个小问题。在流过时,x轴显示了时钟时间,看起来不错,但是我的需求是将其显示为经过的时间。

这是此代码:

https://bl.ocks.org/boeric/3b57a788a4b96e1af211

我一直在尝试使此脚本适合工作,但是我所做的只是打破它,似乎时间已经很好地集成到了此示例中。值得转换吗?还是我最好实施自己的解决方案?我可以,但是它可能缺少此示例中的一些风吹草动。

到目前为止,最接近的解决方案是我已更改了图表比例:

var x = d3.time.scale().range([0, width]);

var x = d3v3.scale.linear().range([0, width]);

现在我在每个刻度上都得到了一个类似于时间戳的信息,这并不理想。

1 个答案:

答案 0 :(得分:1)

您已经知道Bo Ericsson’s Block 3b57a788a4b96e1af211使用他的realTimeChart.js

您应该尝试调整139行,

var xAxis = d3.svg.axis().orient("bottom");

var xAxis = d3.svg.axis().orient("bottom").tickFormat(function(d) { 
  var dif = new Date() - d;
  var seconds = Math.round(dif / 1000);
  return seconds;
});

axis.tickFormat([format])会做你的事情。