繁体   English   中英

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

[英]Convert existing d3 live stream line graph to use seconds elapsed instead of time

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

这是此代码:

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

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

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

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

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

现在,我在每个刻度上都获得了类似于时间戳的信息,这并不理想。 我似乎在互联网上找不到其他人做过这么简单的事情,听起来很奇怪。

如您所知, Bo Ericsson的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])会做你的事情。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM