写在前面

在即将结束的iview项目中,用到了大量的echarts3内容,简要记录下,在iview项目中,如何加载使用echarts3,并使其能够自适应页面大小。

开始

  1. 页面模板中添加带 iddiv 元素
<template><div style="width:100%;height:100%;" id="chart-div"></div>
</template>
复制代码
  1. js 代码中引入echarts
import echarts from 'echarts';
复制代码
  1. data 中定义统计图对象
data () {return {exampleChart: null // 统计图对象}
},
复制代码
  1. computed 中计算统计图option
computed: {exampleChartOption () {let xAxisData = [];let seriesData = [];// 动态数据的获取及修改let option = {tooltip : {trigger: 'axis',axisPointer: {type: 'cross',label: {backgroundColor: '#6a7985'}}},legend: {data:['列子']},grid: {left: '3%',right: '4%',bottom: '3%',containLabel: true},xAxis: [{type : 'category',boundaryGap : false,data : xAxisData}],yAxis: [{type : 'value'}],series: [{name:'列子',type:'line',areaStyle: {normal:{// 折线图 填充色的线性渐变color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{offset: 0, color: 'rgb(255, 70, 131)' // 0% 处的颜色}, {offset: 1, color: 'rgb(255, 158, 68)' // 100% 处的颜色}], false)}},data: seriesData}]};return option;}
}
复制代码
  1. methods 中进行统计图的绘制

通过 id 来绑定 div

methods: {drawExampleChart: function () {this.exampleChart = echarts.init(document.getElementById('chart-div'));this.exampleChart.setOption(this.exampleChartOption);}
}
复制代码
  1. mounted 中进行统计图的挂载和 窗口自适应

$nextTick 是为了确保dom元素已经构建了之后,才进行统计图的绘制

mounted () {this.$nextTick(() => {this.drawExampleChart();let _self = this;window.addEventListener('resize', function () {_self.exampleChart.resize();});});
}
复制代码
  1. watch 中监听 option 的改变,使统计图重新渲染

deep: true 表示深度监听,可监听对象内的变化

watch: {exampleChartOption: {handler: function (newVal, oldVal) {if (this.exampleChart) {if (newVal) {this.exampleChart.setOption(newVal);} else {this.exampleChart.setOption(oldVal);}} else {this.drawExampleChart();}},deep: true}
}
复制代码
  1. 将该统计图以组件的形式,加入到所需的页面中。

总结

该iview项目中,用到了大量的echarts3,包括柱状图,折线图,饼图,雷达图,散点图,基于geojson数据加载的地图,异性柱状图,迁徙图。

转载于:https://juejin.im/post/5bea6a0d51882516fa637378

在iview项目中添加echarts3相关推荐

  1. VB.NET 在项目中添加App.config的配置

    右击项目,选择属性, 在属性中选择Settings选项卡,Scope选择User 这样就会在项目中添加了App.config配置 内容: <?xml version="1.0" ...

  2. Entity Framework 的小实例:在项目中添加一个实体类,并做插入操作

    Entity Framework 的小实例:在项目中添加一个实体类,并做插入操作 Entity Framework 的小实例:在项目中添加一个实体类,并做插入操作 1>. 创建一个控制台程序 2 ...

  3. 关于如何正确地在android项目中添加第三方jar包

                  在android项目中添加第三方jar包虽然不是一个很复杂的问题,但是确实给很多开发者带来了不小的困扰.我自己就曾经碰到过calss not found exception ...

  4. 给iOS项目中添加图片,并通过UIImageView引用和显示该UIImage图片

    [问题] 关于iOS/iPhone中的文件选择对话框,用于用户去选择图片等文件 过程中,问题转换为,需要给当前iOS项目中,添加一个图片. 类似于Windows开发中的资源文件,其中图片文件属于资源的 ...

  5. Resx 文件无效。未能加载 .RESX 文件中使用的类型 System.Collections.Generic.List`1请确保已在项目中添加了必需的引用。

    在C#程序编写过程中,会遇到:Resx 文件无效.未能加载 .RESX 文件中使用的类型 System.Collections.Generic.List1`请确保已在项目中添加了必需的引用. 主要原因 ...

  6. 圣诞节PNG免扣素材|轻松向现有项目中添加节日元素!

    制作任何东西,从定制的圣诞卡,图标,可以用于网站设计或包装,甚至图形,照片和插图,PNG免扣格式图片素材,无疑可以帮助你有效的完成项目. 节日的装饰不仅仅包括挂一棵圣诞树和添加金属箔.装饰也可以延伸到 ...

  7. Abp Vnext应用程序项目中添加docker支持的小结

    文章目录 介绍 具体步骤 1.创建项目 2.添加docker支持 3.调整 4.运行实例 总结 介绍 abp vnext 里面的只有 module 项目里面是自动添加 docker 支持的,因为其是面 ...

  8. 三、在eclipse项目中添加Junit4

    JUnit是一个Java语言的单元测试框架.它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个. JUnit有它自己的JUn ...

  9. vue 打开html流_在vue项目中添加一个html页面,开启本地服务器

    在vue项目里新增一个不需要登录的页面,那么我只能新增一个html页面了,不经过路由,直接在浏览器输入路径打开,那么就需要用到本地服务器, 1.vue里面的html页面最好放过在public文件夹里面 ...

最新文章

  1. HashMap 在并发下可能出现的问题分析!
  2. AI K-means算法对数据进行聚类分析-实验报告
  3. crm使用soap创建下拉框
  4. MySQL 配置文档
  5. apiCloud中Frame框的操作,显示与隐藏Frame
  6. VC命令行编译参数介绍
  7. 分享一篇很不错的CMake入门文章,值得收藏细读!
  8. 介绍一个又快又准的截图骚操作
  9. resnet 25 训练人脸识别
  10. 一个关于全局变量的问题
  11. JAVA中构造方法说法_关于Java程序的构造方法,说法错误的是( )
  12. 分布式机器学习\分布式KMeans
  13. IDEA类图标有小叉叉×
  14. springbootTest为什么整合dubbo后无法使用
  15. 六种黑客入侵手机的常见方式
  16. qq邮箱 添加 gmail_将您的Gmail添加到Windows Live Mail
  17. C语言求两个正整数的最小公倍数
  18. VB.NET 使用 OleDb 操作 Access 数据库(来自 MSDN)
  19. 关于Flutter的渠道(channels):master、dev和beta
  20. USDTPAY支付通道全行业可接入,安全稳定无痕快捷

热门文章

  1. 奇怪,不能上GOOGLE了...你们也是这样吗?
  2. Linux输入不同颜色字体
  3. UA SIE545 优化理论基础3 Fritz-John与Kuhn-Tucker理论总结 带等式约束与不等式约束的极值问题
  4. VC++更改主窗口标题栏文字
  5. 超图数据集管理基本操作 - 隐藏系统字段和添加字段索引
  6. 关于反射GetType().GetProperties()的疑惑
  7. 三十一、CI框架之使用验证码
  8. 8. String to Integer (atoi) 字符串转成整数
  9. Linux并发与同步专题 (1)原子操作和内存屏障
  10. python @staticmethod和@classmethod的作用