0

我正在寻找设置 nvd3 图表 x 域以在实时折线图中表示给定时间段的最佳方法 - 例如上一小时。换句话说 - 我每秒添加新数据(y 是数值,x 是时间戳),我希望 x 轴显示最后一小时的时间。目前我在每次数据更新时更新 forceX - 它有效,但似乎非常无效。

var startDate = (new Date()).getTime();
startDate = startDate-3600000;
options.chart.forceX = [startDate,new Date()];
data[0].values.push({x: new Date(), y: newValue});
api.update();

有没有更好的办法?

4

1 回答 1

0

在 D3 JS 中;如下代码可用于根据比例值的变化更新轴,

 // Update scale with new values
  var xScale = d3.time.scale().domain([newMinDate, newMaxDate])   
        .range([0,width]);

   // Update the Axis new scale
   var xAxis = d3.svg.axis().scale(xScale).orient("bottom");

  // select svg axis node and update the view
  svg.selectAll("g.x-axis").call(xAxis)
于 2015-11-24T07:19:15.077 回答