在项目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 相关文章推荐
DWR Ext 加载数据
Mar 22 Javascript
用JavaScript判断CSS浏览器类型前缀的两种方法
Oct 08 Javascript
jQuery Validate验证框架详解(推荐)
Dec 17 Javascript
微信小程序实现分享到朋友圈功能
Jul 19 Javascript
对angularjs框架下controller间的传值方法详解
Oct 08 Javascript
javascript匿名函数中的'return function()'作用
Oct 15 Javascript
使用Angular Cli如何创建Angular私有库详解
Jan 30 Javascript
vue项目创建并引入饿了么elementUI组件的步骤
Apr 11 Javascript
更强大的vue ssr实现预取数据的方式
Jul 19 Javascript
解决Layui数据表格的宽高问题
Sep 28 Javascript
解决vue项目刷新后,导航菜单高亮显示的位置不对问题
Nov 01 Javascript
JS实现秒杀倒计时特效
Jan 02 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
星际初学者游戏中永远要做的事
2020/03/04 星际争霸
递归列出所有文件和目录
2006/10/09 PHP
php强制下载类型的实现代码
2011/04/21 PHP
ThinkPHP模板Volist标签嵌套循环输出多维数组的方法
2016/03/23 PHP
浅谈php://filter的妙用
2019/03/05 PHP
JQuery AJAX实现目录浏览与编辑的代码
2008/10/21 Javascript
javascript 类型判断代码分析
2010/03/28 Javascript
jQuery中insertBefore()方法用法实例
2015/01/08 Javascript
JavaScript 动态加载脚本和样式的方法
2015/04/13 Javascript
JQuery中Text方法用法实例分析
2015/05/18 Javascript
jQuery中trigger()与bind()用法分析
2015/12/18 Javascript
详谈javascript异步编程
2016/02/21 Javascript
jquery UI Datepicker时间控件的使用及问题解决
2016/04/28 Javascript
js基础之DOM中document对象的常用属性方法详解
2016/10/28 Javascript
AngularJS路由Ui-router模块用法示例
2017/05/29 Javascript
jquery处理checkbox(复选框)是否被选中实例代码
2017/06/12 jQuery
js实现移动端轮播图效果
2020/12/09 Javascript
jquery实现回车键触发事件(实例讲解)
2017/11/21 jQuery
Vue Router中应用中间件的方法
2020/08/06 Javascript
Python使用functools模块中的partial函数生成偏函数
2016/07/02 Python
django中静态文件配置static的方法
2018/05/20 Python
Python2包含中文报错的解决方法
2018/07/09 Python
python实现图片中文字分割效果
2019/07/22 Python
python自动化UI工具发送QQ消息的实例
2019/08/27 Python
Python HTMLTestRunner库安装过程解析
2020/05/25 Python
德国旅游网站:weg.de
2018/06/03 全球购物
函数指针的定义是什么
2016/08/14 面试题
27个经典Linux面试题及答案,你知道几个?
2014/03/11 面试题
应聘美工求职信
2013/11/07 职场文书
幼儿园消防演练方案
2014/02/13 职场文书
《风筝》教学反思
2014/04/10 职场文书
院党委组织查摆问题对照检查材料思想汇报2014
2014/10/08 职场文书
解除劳动关系协议书2篇
2014/11/28 职场文书
幼儿园中班教师个人总结
2015/02/05 职场文书
赞美教师的句子
2019/09/02 职场文书
Python编程super应用场景及示例解析
2021/10/05 Python