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