[英]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.