echarts 实时获取数据
html:
<div id="realTimeInvoke" class="chart" style="height: 400px;"></div>
js:
// 初始化 echarts
var realTimeInvokeChart = echarts.init(document.getElementById('realTimeInvoke'),'light');
var timeerOfRealtime; // 实时调用量 定时器
var realTimeInvokeOption = {
tooltip: {
trigger: 'axis'
},
toolbox: {
feature: {
magicType: {
type: ['bar', 'line']
},
saveAsImage: {},
},
},
xAxis: {
type: 'category',
boundaryGap : false,
data: []
},
yAxis: {
type: 'value',
scale: false
},
series: [
{
name: '调用量',
type: 'line',
smooth:true,
areaStyle: { },
data: [],
},
],
grid: {
left: '5%',
right: '5%',
}
};
realTimeInvokeChart.setOption(realTimeInvokeOption);
setIntervalOfRealTime('001');
function setIntervalOfRealTime (id) {
var postData = [];
var xAxisDate = [];
var data = [];
realTimeInvokeChart.showLoading();
clearInterval(timeerOfRealtime);
timeerOfRealtime = setInterval(() => {
postData = formatDateToArray()[1];
xAxisDate = formatDateToArray()[0];
data = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
$.ajax({
url: url`,
type: 'GET',
success: function (res) {
realTimeInvokeChart.hideLoading();
res.map((val, index) => {
if(postData.includes(val.time)) {
data[postData.indexOf(val.time)] = val.succ;
}
})
realTimeInvokeChart.setOption({
xAxis: {
data: xAxisDate
},
series: [{
data: data
}],
});
},
error: function (response) {
alert('服务器异常!');
console.log(response);
return false;
}
});
}, 1000);
}
// 格式化实时时间
function formatDateToArray () {
var nowDate = +new Date() - 10000;
var xAxisDate = [],
postDate = [];
for (var i = 0; i < 40; i++) {
var year = new Date(nowDate).getFullYear();
var month = new Date(nowDate).getMonth() + 1 < 10 ? '0' + (new Date(nowDate).getMonth() + 1) : new Date(nowDate).getMonth() + 1;
var day = new Date(nowDate).getDate() < 10 ? '0' + new Date(nowDate).getDate() : new Date(nowDate).getDate();
var hour = new Date(nowDate).getHours() < 10 ? '0' + new Date(nowDate).getHours() : new Date(nowDate).getHours();
var minute = new Date(nowDate).getMinutes() < 10 ? '0' + new Date(nowDate).getMinutes() : new Date(nowDate).getMinutes();
var second = new Date(nowDate).getSeconds() < 10 ? '0' + new Date(nowDate).getSeconds() : new Date(nowDate).getSeconds();
xAxisDate.unshift(hour + ':' + minute + ':' + second);
postDate.unshift(year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second);
nowDate = nowDate - 1000;
}
return [xAxisDate, postDate];
}
echarts 实时获取数据的更多相关文章
- Django+Xadmin+Echarts动态获取数据legend颜色显示灰色问题已解决
前段时间做的使用Django的Xadmin后台和百度Echarts进行后台数据可视化,功能虽然实现,展示出来的legend图例,都是灰色的,只有鼠标放上去才会显示彩色的.百度都快被我刨穿了,看到有类似 ...
- ajax轮询实时获取数据
最近做一个评论功能时,想要实现实时异步刷新评论功能,于是使用了ajax轮询,这里简单记录一下ajax轮询的原理及使用方法. ajax轮询的原理就是客户端定时向服务端发送ajax请求,服务器接到请求后马 ...
- JS动态获取数据
JS访问数据,有实时获取数据的时候,请加上时间戳 如:'&stampflag=' + Math.round(new Date().getTime() / 1000); 因为有的浏览器(如IE9 ...
- echarts地图边界数据的实时获取与应用,省市区县多级联动【附最新geoJson文件下载】
首先,来看下效果图 在线体验地址:https://hxkj.vip/demo/echartsMap/,并提供实时geoJson数据文件下载 echarts官方社区链接地址(可在线编辑):https:/ ...
- php获取实时汇率数据
支付时常常会用到支付汇率,但汇率数据是实时的,没办法首先设定好,为避免亏损,只能做到实时的了,先推荐个php函数,能实时获取汇率数据.需要curl模块支持. function getExchangeR ...
- Android网络开发之实时获取最新数据
在实际开发中更多的是需要我们实时获取最新数据,比如道路流量.实时天气信息等,这时就需要通过一个线程来控制视图的更新. 示例:我们首先创建一个网页来显示系统当前的时间,然后在Android程序中每隔5秒 ...
- 用angular实时获取本地localStorage数据,实现一个模拟后台数据登入的效果
研究了一上午,终于做出了,实时获取本地localStorage来模拟注册登入~~~ <!DOCTYPE html><html><head lang="en&qu ...
- GPS(2)关于位置的3个示例,实时获取GPS定位数据,求两个经纬点距离,邻近某个区域圆时警告
实时获取GPS定位数据 import android.app.Activity; import android.content.Context; import android.location.Loc ...
- 获取sina,baidu,google财经历史和实时股票数据接口
实时股票数据接口 股票数据的获取目前有如下两种方法可以获取:1. http/javascript接口取数据2. web-service接口1.http/javascript接口取数据1.1Sina股票 ...
随机推荐
- Android通过Chrome Inspect调试WebView的H5 App出现空白页面的解决方法(不需要FQ)
本文系博主原创,未经许可不得转载.如未经本人同意,私自转载或盗取资源提供下载,本人保留追究其法律责任的权利. 调试基于WebView的Hybrid App最舒服的工具当然是Chrome自带的开发者工具 ...
- Docker Compose 安装 on centos7
本文演示如何在CentOS7上安装Docker Compose. 1 在线安装 1.1 下载安装包 $ curl -L https://github.com/docker/compose/releas ...
- weblogic系列漏洞整理 -- 5. weblogic SSRF 漏洞 UDDI Explorer对外开放 (CVE-2014-4210)
目录 五. weblogic SSRF 漏洞 UDDI Explorer对外开放 (CVE-2014-4210) 1. 利用过程 2. 修复建议 一.weblogic安装 http://www.cnb ...
- springmvc复习笔记----Restful 风格,PathVariable获取 Url实例
结构 包与之前相同 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=&qu ...
- git笔记(1)-搭建
1. git下载 地址:https://git-scm.com/download/win 2. 安装(略) 3. 创建本地仓库 方法一:(1) 打开git bash here, 进入相应目录(打算创建 ...
- LeetCode算法题-Sum of Two Integers(Java实现)
这是悦乐书的第210次更新,第222篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第78题(顺位题号是371).计算两个整数a和b的总和,但不允许使用运算符+和 - .例 ...
- Java入门(四):运算符优先级、关键字与保留字
上次介绍了Java的运算符,今天来介绍下运算符的优先级,以及Java的关键字.保留字. 一.运算符优先级 序号 运算符 名称 目数 结合性 说明 1 [ ] 方括号 从左向右 优先级最高 . 点号 双 ...
- JavaScript数据类型之布尔类型
引言 布尔值指代真或假.开或关.是或否.这个类型只有两个值,保留字true和false.JavaScript程序中的比较语句的结果通常都是布尔值.布尔值通常用于JavaScript中的控制结构中. 真 ...
- 【Teradata】grouping和rollup窗口函数
1.group by后带rollup子句 先按一定的规则产生多种分组,然后返回各个分组所产生的结果集的并集,且没有去掉重复数据(统计出的数据是求和还是最大值还是平均值等这就取决于SELECT后的聚合函 ...
- HDFS的dfs.replication不同验证
对于上传文件到hdfs上时,当时hadoop的副本系数是几,这个文件的块数副本数就会有几份,无论以后你怎么更改系统副本系统,这个文件的副本数都不会改变,也就说上传到分布式系统上的文件副本数由当时的系统 ...