79ECharts:基础知识与问题解决
一、Echarts动态图实现思路1、这样写会报错:`setOption` should not be called during main process. ```javascriptvar option={title:myTitle};/*原始配置*/clearInterval(timeTicket);var timeTicket = setInterval(function (){ /*此处向后台发送请求并获取返回值*/ myTitle =result[0]; myChart.setOption(option);},500);```2、这样写不会报错 ```javascriptvar option={};/*原始配置*/clearInterval(timeTicket);var timeTicket = setInterval(function (){ /*此处向后台发送请求并获取返回值*/ option.series[0].data[0].value =result[0]; myChart.setOption(option);},500);```3、这样写不会报错 ```javascriptclearInterval(timeTicket);var timeTicket = setInterval(function (){ /*此处向后台发送请求并获取返回值*/ var option = myChart.getOption();/*实例获取*/ option.series[0].data[0].value = result[0]; myChart.setOption(option);},500);```二、定时更新数据的多图表实现思路(在angular1框架中使用)方法一:1、初始化,(1)通过多次执行var oneChart = echarts.init(document.getElementById(id)),获取多个实例并把实例放进数组myArray里;(2)多次定义配置项var oneOption = {};(3)用angular.forEach(myArray,function(item){ item.setOption(oneOption); })获取多图表;(4)执行获取数据函数,获取返回值2、定时执行获取数据函数 $scope.myInterval=$interval(function () { getData() }, 3000);3、定义获取数据函数getData```javascript$scope.getData=function(){ /*1、发送请求 2、获取返回值result 3、择出所需数据放入数组var dataArray=[[result.AAA.one,result.AAA.two],[result.BBB.one,result.BBB.two],[result.CCC.one,result.CCC.two],...] 4、用新数据更新实例的图表*/ angular.forEach(myArray,function(item,index){ var option = item.getOption(); /*以下直接给配置项赋值*/ option.series[0].data[0].value = dataArray[index][0]; /*以下经计算后给配置项赋值*/ var value = dataArray[index][0]; var lastValue= (100 - value) * 266 / 360; option.series[2].data[0].value = lastValue; option.series[2].data[1].value = 100 - lastValue; /*以下给配置项添加外来图片*/ option.graphic = [{}]; /*以下更新实例的图表*/ item.setOption(option); });}```三、定时更新数据的多图表实现思路(在angular1框架中使用)方法二:1、初始化,(1)通过多次执行var oneChart = echarts.init(document.getElementById(id)),获取多个实例并把实例放进数组myArray里;(2)多次定义配置项var oneOption = {};(3)用angular.forEach(myArray,function(item){ getData () })获取多图表;2、定时执行获取数据函数 $scope.myInterval=$interval(function () { getData() }, 3000);3、定义获取数据函数getData```javascript$scope.getData=function(){ /*1、发送请求 2、获取返回值result 3、择出所需数据放入数组var dataArray=[[result.AAA.one,result.AAA.two],[result.BBB.one,result.BBB.two],[result.CCC.one,result.CCC.two],...] 4、用新数据更新实例的图表*/ angular.forEach(myArray,function(item,index){ /*以下直接给配置项赋值*/ oneOption.series[0].data[0].value = dataArray[index][0]; /*以下经计算后给配置项赋值*/ var value = dataArray[index][0]; var lastValue= (100 - value) * 266 / 360; oneOption.series[2].data[0].value = lastValue; oneOption.series[2].data[1].value = 100 - lastValue; /*以下给配置项添加外来图片*/ oneOption.graphic = [{}]; /*以下更新实例的图表*/ item.setOption(oneOption); });}```四、定时更新数据的多图表实现思路(在angular1框架中使用)方法三:1、初始化,(1)一次执行实例获取函数getChartInstances,获取多个实例并把实例放进数组myArray里;(2)多次执行配置获取函数getSingleOption,获取多个配置项,比如oneOption;(3)用angular.forEach(myArray,function(item){ getData () })获取多图表;2、定时执行获取数据函数 $scope.myInterval=$interval(function () { getData() }, 3000);3、定义实例获取函数getChartInstances```javascript$scope.getChartInstances=function (arrayID){ var chartsInstance=[]; for(var i=0;i<arrayID.length;i++){ var oneChart= echarts.init(document.getElementById(arrayID[i])); chartsInstance.push(oneChart); } return chartsInstance;}```4、定义配置获取函数getSingleOption```javascript$scope.getSingleOption=function (singleID){ var option = {}; if(singleID="a"){ option.series[2].data[0].name = "CPU利用率"; } return option;};``` 5、定义获取数据函数getData```javascript$scope.getData=function(){ /*1、发送请求 2、获取返回值result 3、择出所需数据放入数组var dataArray=[[result.AAA.one,result.AAA.two],[result.BBB.one,result.BBB.two],[result.CCC.one,result.CCC.two],...] 4、用新数据更新实例的图表*/ angular.forEach(myArray,function(item,index){ /*以下直接给配置项赋值*/ oneOption.series[0].data[0].value = dataArray[index][0]; /*以下经计算后给配置项赋值*/ var value = dataArray[index][0]; var lastValue= (100 - value) * 266 / 360; oneOption.series[2].data[0].value = lastValue; oneOption.series[2].data[1].value = 100 - lastValue; /*以下给配置项添加外来图片*/ oneOption.graphic = [{}]; /*更新实例的图表*/ item.setOption(oneOption); });}```![图片描述](attimg://article/content/picture/201811/09/151111ni2oqqh9myp212pm.png)五、setOption的参数myChart.setOption(option, notMerge, lazyUpdate);1、option:图表的配置项和数据。2、notMerge:不跟之前的option合并,默认为false,即合并。3、lazyUpdate:不立即更新图表,默认为false,即立即更新。3、silent:阻止抛出事件,默认为false,即抛出事件。六、在myChart.setOption(option, notMerge, lazyUpdate)中,option的主要构成:1、title:标题2、legend:图例。它的下一级data与series的下某级name相关联3、grid:网格4、xAxis:x轴5、yAxis:y轴6、dataZoom:区域缩放7、tooltip:提示框8、toolbox:工具栏9、timeline:在多个option 间进行切换10、graphic:原生图形11、series:系列列表。series是数组,下一级是对象,(1)在bar和line中,对象里面的name与legend里面的data数组的某1项一样,对象里面的data数组有多个值,只用一种颜色,legend表现简单(2)在pie中,对象里面的data数组里的name与legend里面的data数组的某1项一样,对象里面的data数组有多个值,每个值用一种颜色,legend表现复杂。12、color:调色盘颜色列表13、textStyle:全局的字体样式14、animation:是否开启动画
转载于:https://www.cnblogs.com/gushixianqiancheng/p/10967086.html
79ECharts:基础知识与问题解决相关推荐
- the isle 服务器刷新找不到怎么办,《The Isle》常见问题解决方法汇总 基础知识介绍...
<The Isle>常见问题解决方法汇总 基础知识介绍 2018-01-22 17:33:43来源:贴吧编辑:评论(0) <岛(The Isle)>是一款恐龙开放世界的生存游戏 ...
- dm8基础知识及常见问题解决(linux)
基础知识 dm8软件安装方式 图形化方式 去dm8的bin文件目录下进行安装(需要注意分区大小问题) ./DMInstall.bin /*/script/root/root_installer.sh( ...
- SAP SD基础知识之组织架构设计-Shipping Point篇
SAP SD基础知识之组织架构设计-Shipping Point篇 今天博主项目上不太忙,关键用户在做单元测试,那就再写一篇吧,作为组织架构设计的完结篇. Shipping Point,即装运点,同信 ...
- 计算机基础知识总结论文,大学计算机基础总结论文
计算机基础实训课是针对非计算机专业的大一新生开设的计算机入门课程,是应用性和操作性都非常强的课程,力求培养学生对计算机的新知识.新技术的理解和应用,使学生能够有效的利用计算机来提高学习和工作效率.下面 ...
- 扎实的基础知识、高质量的代码
扎实的基础知识.高质量的代码.清晰的思路.优化代码的能力.优秀的综合能力是编程技术面试的五大要点. 找工作一直是一个热门话题.要想找到心仪的工作,难免需要经过多轮面试.编程面试是程序员面试过程中最为重 ...
- 计算机基础知识背诵口诀,内部资料--教育基础知识背诵口诀(一遍记住)
原标题:内部资料--教育基础知识背诵口诀(一遍记住) 主观题背诵口诀 一.简述如何运用记忆规律,促进知识的保持. 口诀:有意理解深加工,组块编码记忆术 过度学习150 ,阅读试忆相交替 复习方式多样化 ...
- 区块链基础知识与关键技术解析
区块链基础 1. 区块链的来龙去脉 1.1 区块链技术起源 1.2 比特币产生背景与现状 1.3 数字货币概念 1.4 比特币技术原理 2. 区块链概念与产业现状 ...
- python爬虫入门基础知识_【PYTHON】【爬虫】关于python爬虫的一些基础知识
基础知识 HTTP协议 我们浏览网页的浏览器和手机应用客户端与服务器通信几乎都是基于HTTP协议,而爬虫可以看作是一个另类的客户端,它把自己伪装成浏览器或者手机应用客户端,按照自己的逻辑贪婪的向服务器 ...
- python爬虫需要哪些基础知识-【PYTHON】【爬虫】关于python爬虫的一些基础知识
基础知识 HTTP协议 我们浏览网页的浏览器和手机应用客户端与服务器通信几乎都是基于HTTP协议,而爬虫可以看作是一个另类的客户端,它把自己伪装成浏览器或者手机应用客户端,按照自己的逻辑贪婪的向服务器 ...
- SpringBoot基础知识
SpringBoot基础知识 SpringBoot课程笔记 前言 很荣幸有机会能以这样的形式和互联网上的各位小伙伴一起学习交流技术课程,这次给大家带来的是Spring家族中比较重要的一门技术课程- ...
最新文章
- SQLite.swift的简单使用
- 【Android UI】theme style
- Lucene学习笔记:Field.Store.* 域存储选项
- 大数据技术hadoop入门级生态圈介绍
- 赠书 | 隐私计算:让你的数据信息不再“裸奔”
- LeetCode 680 验证回文字符串 Ⅱ
- 【百度地图API】如何批量转换为百度经纬度
- Spring中AOP注解实现
- 高阶函数-sort()与sorted() (三分钟读懂)
- 景观生态学概述[转载]
- [转]PhotoShop小技巧
- 串口、Modbus通信协议
- 计算机如何连接网络共享文件,电脑之间如何共享文件?
- 程序员不要以为技术牛逼就行了,这些你必须知道的职场潜规则,助你一路高升!
- 笔记本计算机怎么进入安全模式启动,笔记本怎么进入安全模式
【使用步骤】...
- Java秒杀系统实战系列~构建SpringBoot多模块项目
- Windows搭建青龙面板教程
- 技术人如何才能不焦虑
- 通过前端form表单将信息提交至数据库
- 物联网行业中Mqtt的使用