在iview项目中添加echarts3
写在前面
在即将结束的iview项目中,用到了大量的echarts3内容,简要记录下,在iview项目中,如何加载使用echarts3,并使其能够自适应页面大小。
开始
- 页面模板中添加带 id 的 div 元素
<template><div style="width:100%;height:100%;" id="chart-div"></div>
</template>
复制代码
- js 代码中引入echarts
import echarts from 'echarts';
复制代码
- data 中定义统计图对象
data () {return {exampleChart: null // 统计图对象}
},
复制代码
- 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;}
}
复制代码
- methods 中进行统计图的绘制
通过 id 来绑定 div
methods: {drawExampleChart: function () {this.exampleChart = echarts.init(document.getElementById('chart-div'));this.exampleChart.setOption(this.exampleChartOption);}
}
复制代码
- mounted 中进行统计图的挂载和 窗口自适应
$nextTick 是为了确保dom元素已经构建了之后,才进行统计图的绘制
mounted () {this.$nextTick(() => {this.drawExampleChart();let _self = this;window.addEventListener('resize', function () {_self.exampleChart.resize();});});
}
复制代码
- 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}
}
复制代码
- 将该统计图以组件的形式,加入到所需的页面中。
总结
该iview项目中,用到了大量的echarts3,包括柱状图,折线图,饼图,雷达图,散点图,基于geojson数据加载的地图,异性柱状图,迁徙图。
转载于:https://juejin.im/post/5bea6a0d51882516fa637378
在iview项目中添加echarts3相关推荐
- VB.NET 在项目中添加App.config的配置
右击项目,选择属性, 在属性中选择Settings选项卡,Scope选择User 这样就会在项目中添加了App.config配置 内容: <?xml version="1.0" ...
- Entity Framework 的小实例:在项目中添加一个实体类,并做插入操作
Entity Framework 的小实例:在项目中添加一个实体类,并做插入操作 Entity Framework 的小实例:在项目中添加一个实体类,并做插入操作 1>. 创建一个控制台程序 2 ...
- 关于如何正确地在android项目中添加第三方jar包
在android项目中添加第三方jar包虽然不是一个很复杂的问题,但是确实给很多开发者带来了不小的困扰.我自己就曾经碰到过calss not found exception ...
- 给iOS项目中添加图片,并通过UIImageView引用和显示该UIImage图片
[问题] 关于iOS/iPhone中的文件选择对话框,用于用户去选择图片等文件 过程中,问题转换为,需要给当前iOS项目中,添加一个图片. 类似于Windows开发中的资源文件,其中图片文件属于资源的 ...
- Resx 文件无效。未能加载 .RESX 文件中使用的类型 System.Collections.Generic.List`1请确保已在项目中添加了必需的引用。
在C#程序编写过程中,会遇到:Resx 文件无效.未能加载 .RESX 文件中使用的类型 System.Collections.Generic.List1`请确保已在项目中添加了必需的引用. 主要原因 ...
- 圣诞节PNG免扣素材|轻松向现有项目中添加节日元素!
制作任何东西,从定制的圣诞卡,图标,可以用于网站设计或包装,甚至图形,照片和插图,PNG免扣格式图片素材,无疑可以帮助你有效的完成项目. 节日的装饰不仅仅包括挂一棵圣诞树和添加金属箔.装饰也可以延伸到 ...
- Abp Vnext应用程序项目中添加docker支持的小结
文章目录 介绍 具体步骤 1.创建项目 2.添加docker支持 3.调整 4.运行实例 总结 介绍 abp vnext 里面的只有 module 项目里面是自动添加 docker 支持的,因为其是面 ...
- 三、在eclipse项目中添加Junit4
JUnit是一个Java语言的单元测试框架.它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个. JUnit有它自己的JUn ...
- vue 打开html流_在vue项目中添加一个html页面,开启本地服务器
在vue项目里新增一个不需要登录的页面,那么我只能新增一个html页面了,不经过路由,直接在浏览器输入路径打开,那么就需要用到本地服务器, 1.vue里面的html页面最好放过在public文件夹里面 ...
最新文章
- HashMap 在并发下可能出现的问题分析!
- AI K-means算法对数据进行聚类分析-实验报告
- crm使用soap创建下拉框
- MySQL 配置文档
- apiCloud中Frame框的操作,显示与隐藏Frame
- VC命令行编译参数介绍
- 分享一篇很不错的CMake入门文章,值得收藏细读!
- 介绍一个又快又准的截图骚操作
- resnet 25 训练人脸识别
- 一个关于全局变量的问题
- JAVA中构造方法说法_关于Java程序的构造方法,说法错误的是( )
- 分布式机器学习\分布式KMeans
- IDEA类图标有小叉叉×
- springbootTest为什么整合dubbo后无法使用
- 六种黑客入侵手机的常见方式
- qq邮箱 添加 gmail_将您的Gmail添加到Windows Live Mail
- C语言求两个正整数的最小公倍数
- VB.NET 使用 OleDb 操作 Access 数据库(来自 MSDN)
- 关于Flutter的渠道(channels):master、dev和beta
- USDTPAY支付通道全行业可接入,安全稳定无痕快捷
热门文章
- 奇怪,不能上GOOGLE了...你们也是这样吗?
- Linux输入不同颜色字体
- UA SIE545 优化理论基础3 Fritz-John与Kuhn-Tucker理论总结 带等式约束与不等式约束的极值问题
- VC++更改主窗口标题栏文字
- 超图数据集管理基本操作 - 隐藏系统字段和添加字段索引
- 关于反射GetType().GetProperties()的疑惑
- 三十一、CI框架之使用验证码
- 8. String to Integer (atoi) 字符串转成整数
- Linux并发与同步专题 (1)原子操作和内存屏障
- python @staticmethod和@classmethod的作用