在项目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 相关文章推荐
jQuery中(function(){})()执行顺序的理解
Mar 05 Javascript
ajax请求get与post的区别总结
Nov 04 Javascript
利用JS进行图片的切换即特效展示图片
Dec 03 Javascript
Javascript自定义函数判断网站访问类型是PC还是移动终端
Jan 10 Javascript
jQuery学习总结之jQuery事件
Jun 30 Javascript
JavaScript数据类型之基本类型和引用类型的值
Apr 01 Javascript
JQuery实现带排序功能的权限选择实例
May 18 Javascript
Bootstrap创建可折叠的组件
Feb 23 Javascript
jQuery ajaxSubmit 实现ajax提交表单局部刷新
Jul 04 Javascript
canvas绘制表盘时钟
Jan 23 Javascript
axios向后台传递数组作为参数的方法
Aug 11 Javascript
详解Vue中组件传值的多重实现方式
Aug 16 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
php实现的Timer页面运行时间监测类
2014/09/24 PHP
PHP获取一年中每个星期的开始和结束日期的方法
2015/02/12 PHP
ThinkPHP文件缓存类代码分享
2015/04/22 PHP
PHP获取一年有几周以及每周开始日期和结束日期
2015/08/06 PHP
Zend Framework上传文件重命名的实现方法
2016/11/25 PHP
php数组遍历类与用法示例
2019/05/24 PHP
JS对select控件option选项的增删改查示例代码
2013/10/21 Javascript
Javascript 赋值机制详解
2014/11/23 Javascript
详解Node.js包的工程目录与NPM包管理器的使用
2016/02/16 Javascript
jQuery+ajax实现局部刷新的两种方法
2017/06/08 jQuery
详解Vue.js分发之作用域槽
2017/06/13 Javascript
利用Decorator如何控制Koa路由详解
2018/06/26 Javascript
学前端,css与javascript重难点浅析
2020/06/11 Javascript
js实现简单商品筛选功能
2021/02/02 Javascript
Python实现的石头剪子布代码分享
2014/08/22 Python
Python2.x版本中cmp()方法的使用教程
2015/05/14 Python
python实现数值积分的Simpson方法实例分析
2015/06/05 Python
Python 正则表达式入门(初级篇)
2016/12/07 Python
关于django 数据库迁移(migrate)应该知道的一些事
2018/05/27 Python
python flask实现分页的示例代码
2018/08/02 Python
在python 中实现运行多条shell命令
2019/01/07 Python
python实现两张图片的像素融合
2019/02/23 Python
pyQT5 实现窗体之间传值的示例
2019/06/20 Python
Python中sorted()排序与字母大小写的问题
2020/01/14 Python
Python读取yaml文件的详细教程
2020/07/21 Python
用HTML5.0制作网页的教程
2010/05/30 HTML / CSS
NFL Game Pass欧洲:在线观看NFL比赛直播和点播,以高清质量播放
2018/08/30 全球购物
假日旅行社实习自我鉴定
2013/09/24 职场文书
学院领导推荐信
2013/10/30 职场文书
采购主管工作职责
2013/12/12 职场文书
银行门卫岗位职责
2013/12/29 职场文书
尽职尽责村干部自我鉴定
2014/01/23 职场文书
四风剖析查摆对照检查材料思想汇报
2014/09/24 职场文书
毕业欢送会致辞
2015/07/29 职场文书
一起来看看Vue的核心原理剖析
2022/03/24 Vue.js
Java数据结构之堆(优先队列)
2022/05/20 Java/Android