1.引入Echarts (Vue项目)并注册组件
import vueEcharts from "vue-echarts";
import echarts from "echarts";export default {name: "demo",components: { vueEcharts },data(){return {//...}},//...
}
2.页面嵌入
<vue-echarts
ref="my_chart1"
:options="chart1"
:auto-resize="true"
theme="light"
></vue-echarts><vue-echarts
ref="my_chart2"
:options="chart2"
:auto-resize="true"
theme="light"
></vue-echarts>
3.options配置
export default {data(){return {chart1: this.initChart("bar","各类别在线率、离线率对比",['A', 'B', 'C', 'D'],[{name: "在线率",colors: ['#F5CD2E', '#FB951C'],data: [43.3, 83.1, 86.4, 72.4]},{name: "离线率",colors: ['#00F09E', '#00B074'],data: [85.8, 73.4, 65.2, 53.9]}]),chart2: this.initChart("line","7天内在线率、离线率对比",['07/04', '07/05', '07/06', '07/07', '07/08', '07/09', '07/10'],[{name: "在线率",colors: ["#FB951C", "#F5CD2E"],data: [820, 1032, 901, 834, 1290, 1330, 332]},{name: "离线率",colors: ["#009AEE", "#00DAEE"],data: [1200, 890, 1770, 834, 990, 1030, 1332]},],['#FB951C', '#009AEE'])};}
}
4.配置函数封装:
methods: {initChart(type, title, xItems=[], yItems=[], colors){let result =  {//标题title: {text: title,textStyle: {fontSize: "14",color: "#000",fontWeight: "400"},padding: [5,0,0,20]},//图例legend: {left: "right",padding: [5,20,0,0]},//提示框tooltip: type==="bar" ? {lineStyle: {type: 'solid',color: '#D2D2D2'}} : {trigger: 'axis',axisPointer: {type: 'cross',label: {backgroundColor: '#6a7985'}}},//x轴xAxis: {type: 'category',data: xItems},//y轴yAxis: {type: 'value'},//数据项配置series: yItems.map(item => {let seriesItem = {name: item.name,type: type,data: item.data||[]};type==="bar" && (seriesItem.itemStyle = {color: new echarts.graphic.LinearGradient( 0, 0, 0, 1,[{offset: 0, color: item.colors[0]},{offset: 1, color: item.colors[1]}])});type==="line" && (seriesItem.areaStyle = {opacity: 0.2,color: new echarts.graphic.LinearGradient( 0, 0, 0, 1,[{offset: 0, color: item.colors[0]},{offset: 1, color: item.colors[1]}])}) && (seriesItem.smooth = true);return seriesItem;})};colors && (result.color = colors);result.setTitle = function(title){this.title.text = title;};result.setXData = function(data=[]){this.xAxis.data = data;};result.setYData = function(data=[]){for(let i=0; i<data.length; i++){this.series[i].data = data[i]||[];}};return result;}
}
5.数据渲染:
  this.chart2.setTitle("xxx"); //修改标题//修改x轴每个项目的名称this.chart2.setXData(['a','b','c','d','e','f','g']); //设置y轴的数据,参数为二维数组this.chart2.setYData([[1200, 890, 1770, 834, 990, 1030, 1332],[820, 1032, 901, 834, 1290, 1330, 332]]);

Echarts简单封装相关推荐

  1. Android APP更新下载工具类——简单封装DownloadManager

    几乎所有APP都包含了检查更新功能,更新下载功能的实现方式常用的有两种:1.使用App网络框架的文件下载请求:2.使用自带的DownloadManager类:本文介绍第二种,简单封装一下Downloa ...

  2. 简单封装浏览器 cookie 工具类

    版权声明:本文首发 http://asing1elife.com ,转载请注明出处. https://blog.csdn.net/asing1elife/article/details/8265571 ...

  3. 小程序简单封装 request 请求

    我在这里做了详细的介绍 : 小程序简单封装 request 请求 转载于:https://www.cnblogs.com/biangz/p/9984340.html

  4. 简单封装 HTTP 请求

    2017-2-19 更新到第二版: 源码地址:http://git.oschina.net/sp42/ajaxjs/tree/master/ajaxjs-base/src/com/ajaxjs/net ...

  5. 【JDBC】实现对JDBC 连接的简单封装

    package util;import java.sql.Connection; import java.sql.DriverManager;/**** 实现对JDBC 的封装* @author mq ...

  6. Android AsyncTask 深度理解、简单封装、任务队列分析、自定义线程池

    前言:由于最近在做SDK的功能,需要设计线程池.看了很多资料不知道从何开始着手,突然发现了AsyncTask有对线程池的封装,so,就拿它开刀,本文将从AsyncTask的基本用法,到简单的封装,再到 ...

  7. ios开发之使用多文件上传的简单封装最原始的

    ios开发之使用多文件上传的简单封装最原始的 // // ViewController.m // 18-上传多个文件 // // Created by 鲁军 on 2021/2/13. //#impo ...

  8. Spring jdbc 对象Mapper的简单封装

    一般查询实体的时候,都需要这么使用/**      * 根据id查询      *       * @return      */     public Emp queryEmpById(Intege ...

  9. Google图片加载库Glide的简单封装GlideUtils

    Google图片加载库Glide的简单封装GlideUtils  

最新文章

  1. 利用cre2进行分组模式匹配的实例
  2. android popupwindow dialog区别,Android PopUpWindow使用详解
  3. C#向C++编写的DLL传递字符串参数的办法
  4. 【数字智能三篇】之一: 一页纸说清楚“什么是大数据”
  5. 2020-11-28(不定参数的函数)
  6. php ip2long 32 64位,詳談php ip2long 出現負數的原因及解決方法
  7. Python操作Excel最好选择什么模块?
  8. random number in groovy
  9. AngularJS: 自定义指令与控制器数据交互
  10. CCF201609-4 交通规划(100分)
  11. 笔记内容:非线性控制理论
  12. 【物联网中间件平台-03】YFIOs安装指南
  13. (转)券商IT研发现状:一年最多花5亿 中小公司靠外包
  14. Scikit-Learn (浅谈PCA降维算法)
  15. “大圆满”之前行--从概念到知识再到计算的共生【原力】_目录规划与提要
  16. 微信内置浏览器禁止调整字体大小的方法
  17. Lipschitz连续,一致连续
  18. 五、GNSS测量控制网的建立(1)
  19. Wavesurfer.js 生成音频波形图
  20. python绘制等值线图_使用python祏rfer绘制等值线图的方式适题。

热门文章

  1. 左手坐标系和右手坐标系(以及右手定则左手定则)
  2. 旧手机利用(flutter+声网RTC+声网RTM)
  3. C++大作业18 - 英汉字典程序说明
  4. python蓝桥杯准备
  5. 老雷socket编程之认识常用协议
  6. 星球专享 | 播放器 FFmpeg 依赖库的配置
  7. informatica 初级操作流程
  8. QA之道知多少(一) 初出茅庐
  9. Oracle - 优化器(Optimizer)- 01概念
  10. IOS 监听slider滑动