0

我正在使用人力车来绘制遗传算法随时间的演变。所以我想在流媒体中输入图表并查看 x-Axys 中从 0 开始的时间。

我目前正在使用流式结果的动态推送,例如:

var data = { x: new Date().getTime(), y: N) };
graph.series[0].data.push(data);
graph.render();

我正在像这样配置 x-Axys:

var axes = new Rickshaw.Graph.Axis.Time({
  graph: graph
} );

我得到的结果是一个带有奇怪时间的时间线,比如 45,然后是 02:00,然后是 13:00。我需要的是 进化到 任何人有一些提示吗? ______________ | | |
0s 1s 2s
________________ | | |
0s 5s 10s

4

1 回答 1

1

我刚刚找到了一个可能的答案。

// Declare the starting time
var startTime = new Date().getTime();

// format time to appear only the seconds
var format = function(d) {
  d = new Date(d);

  var seconds = Number(d3.time.format("%S")(d));
  if (seconds === 0) {
    return Number(d3.time.format("%L")(d)) + ' ms';
  } else {
    return seconds + ' s';
  }
};

var x_axis = new Rickshaw.Graph.Axis.X({
  graph: graph,
  tickFormat: format,
});

// Push new value
// Subtract startTime to the current time
var currTime = new Date().getTime() - startTime;
var data = { x: currTime, y: N) };
graph.series[0].data.push(data);

// Render the graph
graph.render();

您可以在此链接中查看 D3 中的更多时间格式:http ://www.d3noob.org/2012/12/formatting-date-time-on-d3js-graph.html

于 2014-02-21T16:48:47.747 回答