如何创建每秒更新真实数据的Hight Charts图表
How do you create a Hight Charts chart that updates every second with real data?
有没有一种方法可以创建一个每秒用真实数据更新的图表,比如这样的图表?我想不通。我基本上想要一个每秒钟都用过去的数据更新的图表。我更新了一些数据,但无法使其发挥作用。
我在网上发现的每个例子都涉及随机数据,但我不知道如何使用我的数据而不是随机数据。
我知道这与代码的这一部分有关:
events: {
load: function() {
// set up the updating of the chart each second
var series = this.series[0];
setInterval(function() {
var x = (new Date()).getTime(), // current time
y = Math.random();
series.addPoint([x, y], true, true);
}, 1000);
}
}
请在此处查看我的更改:http://jsfiddle.net/KXpF7/3/
首先,你的数据格式是错误的,因为它只是一维的,不能用来呈现(x,y)
data: [[3,11,0,3,4,40,2,11,1,5,40,12,11,40,1,40,12,2,3,2,1,12,1,0,1,15,1,4,12,0,4,5,4,12,15,12,1,2,12,2,3,10,4,15,5,4,12,11,0,15,4,40,4,15,1,4,4,40,12,15,1,0,0,5,11,12,15,0,2,4,11]]; // wrong format
您可以使用一个数组以[x,y]格式放置所有历史数据,可以在xAxis和系列声明中的两个类别中使用该数组。
var historicalData = [['2013-11-20 15:00:00',3],['2013-11-20 16:00:00',11],['2013-11-20 17:00:00',0],['2013-11-20 18:00:00',3],['2013-11-20 19:00:00',4],['2013-11-20 20:00:00',40],['2013-11-20 21:00:00',2],['2013-11-20 22:00:00',11],['2013-11-20 23:00:00',1],['2013-11-21 00:00:00',5],['2013-11-21 01:00:00',40]]; // finish the rest data by yourself
在开头,您显示了historicalData的前N个数据点。(根据需要修改var defaultDataNum = 5;
)
series: [{
name: 'Real data',
data: (function() {
var data = [];
// display the first defaultDataNum points in the beginning
for (var i = 0; i < defaultDataNum; i++) {
data.push(historicalData[i]);
}
return data;
})()
}]
然后从historicalData中再获取一个点,每隔1秒显示一次。
var intervalId = setInterval(function() {
series.addPoint(historicalData[currentDataPos], true, true);
currentDataPos++;
// stop update when finish display all data
if(currentDataPos == historicalData.length)
clearInterval(intervalId);
}, 1000);
这是基本的想法,请参阅我的jsfiddle了解所有细节。
相关文章:
- 用程序搜索JQuery数据表中的文本
- 要求输入在数据列表中
- 正在将数据主题添加到所有项目
- 函数参数中的数据与指定变量之间的任何性能差异
- 在VanillaJS中模拟模型双向数据绑定
- CSS-如何定位内容数据标题
- 使用电话间隙在Android应用程序中显示SQL Lite的数据
- 无法在数据endVal中设置值=“”;{{ucount}}”;使用Angular JS的CountUp
- 序列化数据属性中对象的最可靠方法
- 如何将JSON数据导入我的ejs模板
- 不显示带有本地json文件数据的谷歌地图脚本
- 如何将json数据显示为html
- 如何使用javascript将数据:image/png:base64.解码为真实图像
- 如何创建每秒更新真实数据的Hight Charts图表
- Breeze不会用其真实数据替换Ref:节点
- AngularJS / Karma 单元测试与真实的 XHR 数据 / passThrough()
- _.map() 在播放真实数据时不起作用
- 用真实数据修改道场图 x 轴
- 如何生成在图表中看起来真实的假数据
- 用星号代替javascript中的真实数据