echarts官网上的动态加载数据bug被我解决。咳咳/。
又是昨天,为什么昨天发生了这么多事。没办法,谁让我今天没事可做呢。
昨天需求是动态加载数据,画一个实时监控的折线图。大概长这样。

我屁颠屁颠的把代码copy过来,一运行,caocaocao~bug出现了。这难道是站长为了考研我?本着搬运工的精神,我开始百度起来。
最近可能百度忙着打官司,搜到的全是陈年烂谷。没办法,自己弄吧。可是项目主管不懂啊,他以为这个东西很简单嘛,网上一搜一大把,一个劲儿催。我就cltm了。但是问题还是要解决的。官网的错误代码我就不占了,有兴趣的可以到这里看http://echarts.baidu.com/demo.html#dynamic-data2
下面贴上我的代码,还有说明
1.首先官网上的代码没有实例化。
var myChart = echarts.init(document.getElementById('z_line2'));
2.核心配置bug就是这里,修改成这样就好了
原版
setInterval(function () { for (var i = 0; i < 5; i++) {
data.shift();
data.push(randomData());
} myChart.setOption({
series: [{
data: data
}]
});
}, 1000);
我的
setInterval(function () {
for (var i = 0; i < 5; i++) {
//data.shift();
data.push(randomData());
}
//data.push(randomData());
myChart.setOption(option);//核心价值观,更快更高更强!
}, 1000);
最后附上完整的:
//开始❀折线图
function randomData() {
now = new Date(+now + oneDay);
value = value + Math.random() * 21 - 10;
return {
name: now.toString(),
value: [
[now.getFullYear(), now.getMonth() + 1, now.getDate()].join('/'),
Math.round(value)
]
}
} var data = [];
var now = +new Date(1997, 9, 3);
var oneDay = 24 * 3600 * 1000;
var value = Math.random() * 1000;
var option='';
/*for (var i = 0; i < 1000; i++) {
data.push(randomData());
}*/
data.push(randomData());
var myChart = echarts.init(document.getElementById('z_line2'));
option = {
title: {
bottom:0,
left:'center',
text: '现价',
textStyle:{
color:'#5e5e5e'
}
},
tooltip: {
trigger: 'axis',
formatter: function (params) {
console.log(params);
params = params[0];
var date = new Date(params.name);
return date.getDate() + '/' + (date.getMonth() + 1) + '/' + date.getFullYear() + ' : ' + params.value[1];
},
axisPointer: {
animation: false
}
},
xAxis: {
type: 'time',
splitLine: {
show: false
},
nameGap:3600,
axisLine: {lineStyle: {color: '#5e5e5e'}},
axisLabel: {//坐标轴文本样式
textStyle: {
color: "#5e5e5e",
},
}
},
yAxis: {
type: 'value',
boundaryGap: [0, '100%'],
splitLine: {
show: false
},
axisLine: {lineStyle: {color: '#5e5e5e'}},
axisLabel: {//坐标轴文本样式
textStyle: {
color: "#5e5e5e",
},
}
},
series: [{
name: '模拟数据',
type: 'line',
showSymbol: false,
hoverAnimation: false,
data: data
}],
dataZoom:{
type:'inside'
},
backgroundColor:'#ccc'
}; setInterval(function () {
for (var i = 0; i < 5; i++) {
//data.shift();
data.push(randomData());
}
//data.push(randomData());
myChart.setOption(option);
}, 1000);
echarts官网上的动态加载数据bug被我解决。咳咳/。的更多相关文章
- 【转】Echarts的使用以及动态加载数据
一.Echarts的介绍 ECharts开源来自百度商业前端数据可视化团队,基于html5 Canvas,是一个纯Javascript图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表.创新 ...
- AppCan学习笔记----关闭页面listview动态加载数据
AppCan页面关闭 AppCan 的页面是由两个HTML组成,如果要完全关闭的话需要在主HTML eg.index.html中关闭,关闭方法:appcan.window.close(-1); 管道 ...
- [JS前端开发] js/jquery控制页面动态加载数据 滑动滚动条自动加载事件
页面滚动动态加载数据,页面下拉自动加载内容 相信很多人都见过瀑布流图片布局,那些图片是动态加载出来的,效果很好,对服务器的压力相对来说也小了很多 有手机的相信都见过这样的效果:进入qq空间,向下拉动空 ...
- 微信小程序(五) 利用模板动态加载数据
利用模板动态加载数据,其实是对上一节静态数据替换成动态数据:
- mui 动态加载数据出现的问题处理 (silder轮播组件 indexedList索引列表 下拉刷新不能继续加载数据)
mui-slider 问题:动态给mui的图片轮播添加图片,轮播不滚动. 解决:最后把滚动轮播图片的mui(".mui-slider").slider({interval: 300 ...
- ASP.NET MVC动态加载数据
ASP.NET MVC动态加载数据,一般的做法是使用$.each方法来循环产生tabel: 你可以在html时先写下非动态的部分: Source Code 上图中,有一行代码: <tbody ...
- js实现滚动条来动态加载数据
主要angular2+es6 data:Array<any> //展示的数据 allData:Array<any> //全部的数据 size:number = 10 //每次动 ...
- js/jquery控制页面动态加载数据 滑动滚动条自动加载事件--转他人的
js/jquery控制页面动态加载数据 滑动滚动条自动加载事件--转他人的 相信很多人都见过瀑布流图片布局,那些图片是动态加载出来的,效果很好,对服务器的压力相对来说也小了很多 有手机的相信都见过这样 ...
- js动态加载数据并合并单元格
js动态加载数据合并单元格, 代码如下所示,可复制直接运行: <!DOCTYPE HTML> <html lang="en-US"> <head> ...
随机推荐
- #define用法详解
1.#define 的作用 在C或C++语言源程序中允许用一个标识符来表示一个字符串,称为“宏”.被定义为“宏”的标识符称为“宏名”.在编译预处理时,对程序中所有出现的“宏名”,都用宏定义中的字符串去 ...
- TextToast -- 自定义Toast源码
import android.content.Context;import android.graphics.Color;import android.graphics.PixelFormat;imp ...
- JQuery学习一
第一个JQuery程序 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <he ...
- git branch 重命名
有时候你会有重命名一个git branch的冲动,不要怀疑,这是真的.command bellow will give u a big help,no thanks~ git branch - m o ...
- windows下codeblocks报错undefined reference to `WSAStartup@8'|
Windows下C++Socket编程,调用WSAStartup函数报错:undefined reference to `WSAStartup@8'| 本人使用的是Codeblocks MinGW M ...
- 2015/8/29 Python基础(3):数值
数字提供了标量储存和直接访问,是不可更改类型,每次变更数值会产生新的对象.Python支持多种数字类型,包括整型.长整型.布尔型.双精度浮点.十进制浮点和复数.在Python中,变量并不是一个盒子,而 ...
- C11性能之道:标准库优化
1.emplace_back减少内存拷贝和移动 emplace_back能通过参数构造对象,不需要拷贝或者移动内存,相比pusk_back能更好的避免内存的拷贝和移动,使容器插入元素性能得到进一步提升 ...
- IConfigurationSectionHandler 接口
IConfigurationSectionHandler 处理对特定的配置节的访问. 示例代码: public class MyConfig : IConfigurationSectionHandle ...
- Html5学习3(拖放、Video(视频)、Input类型(color、datetime、email、month 、number 、range 、search、Tel、time、url、week ))
1.Html拖放 <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> < ...
- Web Session 浅入浅出(山东数漫江湖)
使用过几种Web App开发语言和框架,都会接触到Session的概念.即使是一个简单站点访问计数的功能,也常常使用Session来实现的.其他常用的领域还有购物车,登录用户等.但是,对Session ...