Datetime Highcharts:使轴继续到当前日期时间

Datetime Highcharts:使轴继续到当前日期时间,datetime,highcharts,Datetime,Highcharts,我正在做一个图表,显示的速度,这是一个步骤图表使用日期时间轴,这是我需要做的完美。只有更改速率时的数据点。我找不到一种方法使轴继续到特定的日期时间。示例可能是当前时间!第二,我希望这条线也能一直延伸到终点。要做到这一点,我似乎需要人为地输入一个数据点来解决这两个问题 因此,一个实际的例子可能是,你启动系统,速率设置为10,一小时后你看这个图表,你会看到从开始时间到当前时间的一个点 })) 最简单的解决方案是用给定的时间戳(例如当前时间)复制最后一个点。例如: 片段: var endTime =

我正在做一个图表,显示的速度,这是一个步骤图表使用日期时间轴,这是我需要做的完美。只有更改速率时的数据点。我找不到一种方法使轴继续到特定的日期时间。示例可能是当前时间!第二,我希望这条线也能一直延伸到终点。要做到这一点,我似乎需要人为地输入一个数据点来解决这两个问题

因此,一个实际的例子可能是,你启动系统,速率设置为10,一小时后你看这个图表,你会看到从开始时间到当前时间的一个点


}))

最简单的解决方案是用给定的时间戳(例如当前时间)复制最后一个点。例如:

片段:

var endTime = 1456198143933 + 3600 * 1000,
    data = [
      [1456187667884, 10],
      [1456187670916, 10],
      ...
      [1456193273059, 15],
      [1456198143933, 0]
    ];

data.push([endTime, data[data.length - 1][1]]);
现在应用更新的数据:

series: [{
  data: data
}]
======================

还有另一个解决方案,为Highcharts编写简单的插件,它将做完全相同的事情(在数组末尾添加额外的点):

现在只需设置新选项
series.endTime
(或任何您喜欢的名称):

}))


演示:

您可以在数组中添加另一个点,它将复制最后一个值,类似这样:@PawełFus谢谢。我想检查一下这个用例中没有我遗漏的选项。我知道你在这方面很有知识,因为你回答了我过去遇到的其他问题。考虑到我们的历史,如果你愿意提交,我愿意接受这个答案。谢谢你再次抽出时间来帮助我。一如既往,我会给你一个超越一切的完整答案。谢谢你,波威尔。
series: [{
  data: data
}]
(function(H) {
  H.wrap(H.Series.prototype, 'init', function (p) {
    var options = arguments[2],
        UNDEFINED;
    if (options.data && options.endTime !== UNDEFINED) {
      options.data.push([options.endTime, options.data[options.data.length - 1][1]]);
    }
    p.apply(this, [].slice.call(arguments, 1));
  });
})(Highcharts)
series: [{
  endTime: +new Date(),
  name: 'Time/Date',
  data: [
    [1456187667884, 10],
    [1456187670916, 10],
    ...
    [1456193273059, 15],
    [1456198143933, 0]
  ]
}]