在项目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 forEach通用循环遍历方法
Oct 11 Javascript
JQuery 文本框回车跳到下一个文本框示例代码
Aug 30 Javascript
JavaScript动态改变表格单元格内容的方法
Mar 30 Javascript
理解javascript中的原型和原型链
Jul 30 Javascript
JavaScript常用基础知识强化学习
Dec 09 Javascript
微信小程序之ES6与事项助手的功能实现
Nov 30 Javascript
详解js产生对象的3种基本方式(工厂模式,构造函数模式,原型模式)
Jan 09 Javascript
使用Vue.js和Element-UI做一个简单登录页面的实例
Feb 23 Javascript
了解重排与重绘
May 29 Javascript
Vue 实现从文件中获取文本信息的方法详解
Oct 16 Javascript
javascript History对象原理解析
Feb 17 Javascript
原生js实现移动小球(碰撞检测)
Dec 17 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
php5 mysql分页实例代码
2008/04/10 PHP
php whois查询API制作方法
2011/06/23 PHP
一个PHP的远程图片抓取函数分享
2013/09/25 PHP
js multiple全选与取消全选实现代码
2012/12/04 Javascript
JQuery与JS里submit()的区别示例介绍
2014/02/17 Javascript
jQuery 计算iframe 窗口大小的方法
2014/05/13 Javascript
javascript获取flash版本号的方法
2014/11/20 Javascript
js实现动画特效的文字链接鼠标悬停提示的方法
2015/03/02 Javascript
JS实现文字放大效果的方法
2015/03/03 Javascript
js获取数组的最后一个元素
2015/04/14 Javascript
Javascript中的作用域和上下文深入理解
2015/07/03 Javascript
jquery实现的Accordion折叠面板效果代码
2015/09/02 Javascript
深入理解Node.js 事件循环和回调函数
2016/11/02 Javascript
JavaScript基于自定义函数判断变量类型的实现方法
2016/11/23 Javascript
输入框点击时边框变色效果的实现方法
2016/12/26 Javascript
BootstrapTable请求数据时设置超时(timeout)的方法
2017/01/22 Javascript
关于Vue.nextTick()的正确使用方法浅析
2017/08/25 Javascript
解决angular2 获取到的数据无法实时更新的问题
2018/08/31 Javascript
工作中常用到的ES6语法
2018/09/04 Javascript
微信小程序制作表格的方法
2019/02/14 Javascript
vue-cli脚手架打包静态资源请求出错的原因与解决
2019/06/06 Javascript
JS实现无限轮播无倒退效果
2020/09/21 Javascript
在Vue中使用Viser说明(基于AntV-G2可视化引擎)
2020/10/28 Javascript
django基础之数据库操作方法(详解)
2017/05/24 Python
几种实用的pythonic语法实例代码
2018/02/24 Python
Python学习笔记之pandas索引列、过滤、分组、求和功能示例
2019/06/03 Python
美国婴儿用品店:Babies”R”Us
2017/10/12 全球购物
娱乐地球:Entertainment Earth
2020/01/08 全球购物
学生自我鉴定模板
2013/12/30 职场文书
经贸韩语专业大学生职业规划
2014/02/14 职场文书
经济国贸专业求职信
2014/06/18 职场文书
学校领导班子对照检查材料
2014/08/28 职场文书
教师三严三实心得体会
2014/10/11 职场文书
先进单位事迹材料
2014/12/25 职场文书
Python获取百度热搜的完整代码
2021/04/07 Python
Linux下使用C语言代码搭建一个简单的HTTP服务器
2022/04/13 Servers