在项目vue中使用echarts的操作步骤


Posted in Javascript onSeptember 07, 2020

1.在组件中创建该模块

<template>
 <div id = "testChart"></div>
</template>

2.导入echarts

前提是:已经在项目中配置过echarts

在<script></script>中导入echarts

<script>
import {echartInit} from "../../../utils/echartUtils"
</script>

3.初始化该模块

export default {
  name: 'Test',  //vue该组件名称Test.vue
  mounted() {
   this.testChart = echartInit('testChart');  //初始化该echarts表
   /*this.testChart.setOption(this.option); */  // 如果是写死的数据,可以在这儿setOption()看效果
  },
}

4.将data中的option数据返回

在返回的数据(请求的数据)成功后加入setOption();

如果是写死的数据,可以在mounted中直接加入setOption()看结果;

如下为动态数据获取

export default{
data() {
   return {    
    option: {
     "grid": {
      "height": "67%",
      "right": "10%",
      "top": "8%",
      "width": "83%"
     },
     "legend": {
      "data": ['新增','完成','未完成'],
      bottom: '5%'
     },
     "series": [
      {
       name: '新增',
       type: 'line',
       /*areaStyle: {},*/
       smooth: false,
       data: []
      },
      {
       name: '完成',
       type: 'line',
       /*areaStyle: {},*/  //折线下显示填充色
       smooth: false,  
       data: []     //可以写固定的数据
      },
      {
       name: '未完成',
       type: 'line',
       smooth: false,  // 折线,false不平滑的折线,true平滑的曲线
       data: []      //可以写固定的数据
      },
     ],
     "toolbox": {
      "emphasis": {
       "iconStyle": {
        "textAlign": "right",
        "textPosition": "left"
       }
      },

      "orient": "vertical",
      "right": "2%",
      "show": true,
      "textStyle": {
       "align": "left"
      }
     },
     "tooltip": {
      "axisPointer": {
       "type": "shadow"
      },
      "trigger": "axis"
     },
     "xAxis": {
      "axisLine": {
       "lineStyle": {
        "color": "rgb(0, 138, 205)"
       }
      },
      "boundaryGap": true,
      "data": [],     //可以写固定的数据
      "splitLine": {
       "show": false
      },
      "splitNumber": 1,
      "type": "category"
     },
     "yAxis": {
      "min": 0,
      "splitNumber": 8,
      "type": "value"
     }
    },
    testChart: {}
   } 
},
}

5.通过getData()向后台获取数据并返回,将获取的数据返回setOption()

this.testChart.setOption(this.option);

补充知识:vue+echarts踩过的坑

vue+echarts踩过的坑

在项目vue中使用echarts的操作步骤

文字显示居中:可以修改label的padding(只限修改个别地区)设置padding

在项目vue中使用echarts的操作步骤

地图只显示某一部分地区四个省份

用到了geo中regions(用了一整张中国地图,放大这四个地区某个中心点)

geo: {
map: “china”,
mapLocation: {
x: ‘center'
},
center: [“115.892151”, “28.676493”],
zoom:4.8,
label: {
normal:{
show:false
},
emphasis: {
show: false
}
},
roam: false,
itemStyle: {
normal: {
areaColor: “#fff”, //地图默认的背景颜色
borderColor: “#fff”,//地图默认的边线颜色,
opacity:0
},
emphasis: {
areaColor: “#fff”,//地图触发地区的背景颜色
}
},
regions: [
{
name: “浙江”,
label: {
normal:{
show:true,
fontSize:16,
color:'#fff',
padding:[100,4,4,4]
},
emphasis: {
show: true
},
// label:{
// formatter:'{b}',
// }
},
itemStyle: {
normal: {
areaColor: “#1FB2A8”,
borderWidth:4,
borderColor:'#fff',
opacity:1
},
emphasis: {
areaColor: “orange”, //地图触发地区的背景颜色
borderWidth:4,
borderColor:'#fff',
}
}
},
{
name: “江西”,
label: {
normal:{
show:true,
fontSize:16,
color:'#fff',
padding:[100,20,4,4]
},
emphasis: {
show: false
}
},
itemStyle: {
normal: {
areaColor: “#1FB2A8”,
borderWidth:4,
borderColor:'#fff',
opacity:1
},
emphasis: {
areaColor: “orange”, //地图触发地区的背景颜色
borderWidth:4,
borderColor:'#fff'
}
}
},
{
name: “福建”,
label: {
normal:{
show:true,
fontSize:16,
color:'#fff',
padding:[0,70,0,0]
},
emphasis: {
show: false
}
},
itemStyle: {
normal: {
areaColor: “#1FB2A8”,
borderWidth:4,
borderColor:'#fff',
opacity:1
},
emphasis: {
areaColor: “orange”, //地图触发地区的背景颜色
borderWidth:4,
borderColor:'#fff'
}
}
},
{
name: “上海”,
label: {
normal:{
show:true,
fontSize:10,
color:'#fff',
padding:[15,0,0,0]
},
emphasis: {
show: false
}
},
itemStyle: {
normal: {
areaColor: “#1FB2A8”,
borderWidth:4,
borderColor:'#fff',
opacity:1
},
emphasis: {
areaColor: “orange” ,//地图触发地区的背景颜色
borderWidth:4,
borderColor:'#fff'
}
}
}
]
},
series: [
{
type: ‘map',
coordinateSystem: ‘geo',
},
{
type: ‘map',
geoIndex: 0,
data:datass
}
],
显示问题
formatter: function (params) {
// console.log(params)
var res='';
var name='';
for (var i = 0; i < datass.length; i++) {
if (datass[i].name == params.name) {
name=<p class="big">+datass[i].name+</p>
if(datass[i].value==''){
res=''
}else{
datass[i].value.forEach(element => {
res+=<p class="small">+element+</p>
});
}
}
}
return name+res
},
y轴显示百分号
axisLabel: {
formatter: ‘{value}%'
}

以上这篇在项目vue中使用echarts的操作步骤就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript 拖拽的一些高级的应用(逐行分析代码,让你轻松了拖拽的原理)
Jan 23 Javascript
JQuery使用index方法获取Jquery对象数组下标的方法
May 18 Javascript
JS组件Bootstrap导航条使用方法详解
Apr 29 Javascript
BootStrap 附加导航组件
Jul 22 Javascript
AngularJS基础 ng-class-odd 指令示例
Aug 01 Javascript
JavaScript中的子窗口与父窗口的互相调用问题
Feb 08 Javascript
详谈Angular 2+ 的表单(一)之模板驱动型表单
Apr 25 Javascript
three.js中3D视野的缩放实现代码
Nov 16 Javascript
如何在js代码中消灭for循环实例详解
Jul 29 Javascript
JS 遍历 json 和 JQuery 遍历json操作完整示例
Nov 11 jQuery
Vue分页效果与购物车功能
Dec 13 Javascript
vue 组件间的通信之子组件向父组件传值的方式
Jul 29 Javascript
解决vue加scoped后就无法修改vant的UI组件的样式问题
Sep 07 #Javascript
Vue.js原理分析之nextTick实现详解
Sep 07 #Javascript
小程序实现可拖动的悬浮按钮
Sep 07 #Javascript
vue 修改 data 数据问题并实时显示操作
Sep 07 #Javascript
nginx部署多个vue项目的方法示例
Sep 06 #Javascript
js实现简单的无缝轮播效果
Sep 05 #Javascript
JS+CSS实现炫酷光感效果
Sep 05 #Javascript
You might like
给多个地址发邮件的类
2006/10/09 PHP
Php中用PDO查询Mysql来避免SQL注入风险的方法
2013/04/25 PHP
使用ob系列函数实现PHP网站页面静态化
2014/08/13 PHP
Zend Framework教程之Zend_Controller_Plugin插件用法详解
2016/03/07 PHP
PHP中加速、缓存扩展的区别和作用详解(eAccelerator、memcached、xcache、APC )
2016/07/09 PHP
PHP排序算法之基数排序(Radix Sort)实例详解
2018/04/21 PHP
thinkPHP框架实现生成条形码的方法示例
2018/06/06 PHP
PHP APP微信提现接口代码
2018/09/30 PHP
关于laravel 日志写入失败问题汇总
2019/10/17 PHP
推荐40款强大的 jQuery 导航插件和教程(上篇)
2012/09/14 Javascript
jQuery基本选择器选择元素使用介绍
2013/04/18 Javascript
JS中判断JSON数据是否存在某字段的方法
2014/03/07 Javascript
使用jQuery jqPlot插件绘制柱状图
2014/12/18 Javascript
JavaScript操作表单实例讲解(上)
2016/06/20 Javascript
JavaScript实现输入框与清空按钮联动效果
2016/09/09 Javascript
EasyUI 结合JS导出Excel文件的实现方法
2016/11/10 Javascript
最常用的jQuery表单验证(简单)
2017/05/23 jQuery
AngularJs实现聊天列表实时刷新功能
2017/06/15 Javascript
jQuery实现的点击标题文字切换字体效果示例【测试可用】
2018/04/26 jQuery
Vuex 快速入门(简单易懂)
2018/09/20 Javascript
详解Vue This$Store总结
2018/12/17 Javascript
Element Card 卡片的具体使用
2020/07/26 Javascript
js数组的基本使用总结
2021/01/18 Javascript
[46:03]LGD vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
使用pygame模块编写贪吃蛇的实例讲解
2018/02/05 Python
使用Python监视指定目录下文件变更的方法
2018/10/15 Python
Pandas DataFrame 取一行数据会得到Series的方法
2018/11/10 Python
Python代码生成视频的缩略图的实例讲解
2019/12/22 Python
在ipython notebook中使用argparse方式
2020/04/20 Python
Python爬虫之Selenium警告框(弹窗)处理
2020/12/04 Python
pycharm配置QtDesigner的超详细方法
2021/01/25 Python
CSS3 Pie工具推荐--让IE6-8支持一些优秀的CSS3特性
2014/09/02 HTML / CSS
无房证明范本
2014/09/17 职场文书
2014年体育教师工作总结
2014/12/03 职场文书
《爬天都峰》教学反思
2016/02/23 职场文书
浅谈redis的过期时间设置和过期删除机制
2022/03/18 MySQL