Datetime 海图和“海图”;“几乎正常”;时间间隔数据

Datetime 海图和“海图”;“几乎正常”;时间间隔数据,datetime,highcharts,Datetime,Highcharts,对于在X轴上使用datetime的Highchart折线图,如何使用一个pointInterval的数据初始呈现图表,并使用另一个动态更新图表 在我的例子中,无论时间长短,最初的渲染都将使用200个样本。例如,假设给定图表的持续时间为1周。初始页面将接收相隔3024秒的200个数据点(7*24*60*60/200)。然后,它将通过Ajax每60秒动态更新一次 但是,我尝试了多种方法,要么Ajax 60秒刻度产生与初始页面3024秒刻度相同的更改,要么最初创建的图表比例发生更改,或者其他一些同样不

对于在X轴上使用datetime的Highchart折线图,如何使用一个
pointInterval
的数据初始呈现图表,并使用另一个动态更新图表

在我的例子中,无论时间长短,最初的渲染都将使用200个样本。例如,假设给定图表的持续时间为1周。初始页面将接收相隔3024秒的200个数据点(7*24*60*60/200)。然后,它将通过Ajax每60秒动态更新一次

但是,我尝试了多种方法,要么Ajax 60秒刻度产生与初始页面3024秒刻度相同的更改,要么最初创建的图表比例发生更改,或者其他一些同样不希望出现的结果。图表基本上应该保持不变,但随着新接收到的Ajax数据缓慢更新

以下at显示了其中的几种尝试


海图
$(函数(){
/*
共有6个选项。
使用pointAdd或pointUpdate。
另外,这种方式有三种选择
选项1.不带时间预加载,更改pointInterval,然后无时间继续。更改过去日期格式时不起作用
选项2.在没有时间的情况下预加载,然后继续计时。
选项3.按时间预加载,然后按时间继续。
*/
//最初页面将显示一个月的每日数据
var numberOfDatapointsToDisplay=200;//给定
var chartDuration=7*24*60*60;//给定一周,结果为604800秒
var secondsInterval=chartDuration/numberOfDatapointsToDisplay;//3024秒
var pointInterval=1000*secondsInterval;//毫秒
var tickInterval=null;//tickInterval是以轴为单位的刻度线间隔。不确定如何处理
var secondsIntervalAjax=60;//ajax请求时间为一分钟
var currentTime=new Date().getTime()/1000;//UTC时间
var secondssstart=currentTime-numberOfDatapointsToDisplay*secondsInterval;//从过去的一周开始,然后在页面加载时填充
var pointStart=1000*secondssstart;//毫秒
//获取初始数据
变量data1=[]、data2=[]、data3=[];
对于(变量i=0;i  events: {
    load: function() {
      var points = this.series[0].points,
        lastPoint = points[points.length - 1];

      this.series[1].update({
        pointStart: lastPoint.x,
        color: this.series[0].color
      });
    }
  }

(...)

series: [{
  name: 'SeriesName',
  data: data1
}, {
  name: 'SeriesName', // same name as the previous series
  pointInterval: secondsIntervalAjax * 10000, // 10 times bigger to see results faster
  linkedTo: ':previous',
  marker: {
    enabled: false
  }
}]