mpvue 使用echarts动态绘制图表(数据改变重新渲染图表)

摘要:
最近,我们在该公司开发了一个微信小部件,根据客户的需求用饼图显示当前设备状态。所以我们在网上搜索了各种各样的资料,找到了许多mpvue使用eccharts的图表,最后找到了一篇关于mpvue如何使用ecchart的文章。点击这里的链接,需要学生自己检查。这说明了如何使用椭圆曲线绘制图表。您可以查看eccharts的官方文档以配置eccharts配置项选项。请移至此处并单击相应的示例。有详细的选项配置。还有一些关于eccharts的参数和配置手册。

  最近在公司开发一款微信小程序,按照客户需求用饼状图显示当前设备状态(开机、故障、关机),于是就在网上寻找各种资料,找了很多mpvue使用关于echarts绘制图表,最终功夫不负有心人,找到一篇关于mpvue使用echarts的文章,链接点击这里,需要的同学自行查看。这里面说明了如何使用echarts绘制图表,其中echarts的配置项option大家可以查看echarts的官方文档进行配置,请移步这里,点击对应的实例,里面就有详细的option配置,还有一些关于echarts使用参数及配置手册请看这里

  下面我将为大家介绍如何会根据后台返回的数据多次渲染图表,先给大家看一段mpvue中使用echarts的代码

  mpvue 使用echarts动态绘制图表(数据改变重新渲染图表)第1张mpvue 使用echarts动态绘制图表(数据改变重新渲染图表)第2张
 1 <template>
 2   <div class="container">
 3     <div class="echarts">
 4       <div class="wrap">
 5         <mpvue-echarts :echarts="echarts" :onInit="initChart" />
 6       </div>
 7     </div>
 8   </div>
 9 </template>
10 <script>
11 import machineList from './machineList'
12 import * as echarts from '../../../static/echarts/echarts.min'
13 import mpvueEcharts from 'mpvue-echarts'
14 let chart = null
15 export default {
16   data () {
17     return {
18       echarts,
19       IN_PRODUCTION: 1,
20       IN_STAND: 1,
21       OFF_LINE: 1,
22       BREAKDOWN: 1,
23       machineList: [],
24       showState: false,
25       machineState: 'IN_PRODUCTION'
26     }
27   },
28   components: {
29     mpvueEcharts,
30     machineList
31   },
32   onLoad () {
33     this.getMachineStateInfo()
34   },
35   methods: {
36     stateChange (val) {
37       this.machineState = val
38     },
39     test () {
40       var option = {
41         calculable: false,
42         series: [
43           {
44             type: 'pie',
45             radius: '55%',
46             center: ['50%', '60%'],
47             data: [
48               {value: this.IN_PRODUCTION, name: '开机 : ' + this.IN_PRODUCTION},
49               {value: this.OFF_LINE, name: '关机 : ' + this.OFF_LINE},
50               {value: this.BREAKDOWN, name: '故障 : ' + this.BREAKDOWN}
51             ]
52           }
53         ]
54       }
55       chart.setOption(option)
56     },
57     initChart (canvas, width, height) {
58       chart = echarts.init(canvas, 'light', {
59          width,
60         height: height
61       })
62       canvas.setChart(chart)
63       return chart
64     },
65     async getMachineStateInfo () {
66       let resp = await this.$http.get('machine/state/count')
67       if (resp.data.code === 1) {
68         this.IN_PRODUCTION = resp.data.data.machineOpen
69         this.OFF_LINE = resp.data.data.machineClosed
70         this.BREAKDOWN = resp.data.data.machineAlarm
71         setTimeout(() => {
72           this.test()
73         },1000)
74       } else {
75         wx.showToast({
76           title: resp.data.message,
77           icon: 'none',
78           duration: 3000
79         })
80       }
81     }
82   }
83 }
84 </script>
85 
86 <style scoped>
87   .echarts{
88      100%;
89     font-size: 14px;
90   }
91   .wrap {
92      100%;
93     height: 200px;
94     margin: 30px auto;
95     margin-top: 0px;
96   }
97 </style>
mpvue 使用 echarts

  按照其他博客介绍,echarts的option配置选项是写到图表初始化函数initChart中,我这里把配置项option提出来写到test函数中目的就是根据后台数据多次渲染图表,echarts图表多次渲染的原理就是更换配置项中的某些值,然后chart.setOption(option)。这里有一个getMachineStateInfo函数,就是从后台读取渲染图表需要的数据。如果看了代码还有什么不懂的可以评论区评论或者留言,我将会在第一时间解答。

免责声明:文章转载自《mpvue 使用echarts动态绘制图表(数据改变重新渲染图表)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇gitlab 搭建#ifndef 与 #program once 的区别(转)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

BASE64编码的图片在网页中的显示问题的解决

BASE64位转码有两种: 一种是图片转为Base64编码,这种编码是直接可以在页面通过<img src='http://t.zoukankan.com/base64编码'/>的方式显示 Base64 在CSS中的使用 .demoImg{ background-image: url("data:image/jpg;base64,/9j/4QMZ...

Python读取JSON数据操作实例解析

读写 JSON 数据 问题 你想读写 JSON(JavaScript Object Notation) 编码格式的数据。 解决方案 json模块提供给了一种很简单的方式来编码和解码json数据,其中两个主要的函数时json.dumps()和 json.loads() 下面演示如何将一个 Python 数据结构转换为 JSON: import json...

Indigo参考 (2) DataContract 使用 详解(转)

在阅读之前,请先阅读我写过的第一篇有关Indigo的文章. Data Contract是用来定义Indigo Service与Client端之间用来交换的数据的格式,如果我们需要传递自定义的数据,那么就需要将其定义为符合Indigo规范的Data Contract。数据里面的每一个数据项,被成为Data Member。 [DataContract] pu...

async和await的小结

async 配合 await 使用 1、未使用 async 和 await  <el-button @click="getData">Promise</el-button> import getWeater from '@/app/login.js' methods: { getData() { // 未使用async...

多种方式C#实现生成(条码/二维码)

C#通过第三方组件生成二维码(QR Code)和条形码(Bar Code) 用C#如何生成二维码,我们可以通过现有的第三方dll直接来实现,下面列出几种不同的生成方法: 1):通过QrCodeNet(Gma.QrCodeNet.Encoding.dll)来实现 1.1):首先通过VS2015的NuGet下载对应的第三方组件,如下图所示:  1.2):具...

Centos7 虚拟机挂载未分配的空间

客户给分配了一台虚拟机,系统安装是Centos7系统,空间为80G,df -h命令查看系统后发现只有40G左右的空间可用,剩余空间未分配。下面记录主要过程: 查看当前已分配的空间 df-h Java代码 [root@centosVM2~]#df-h 文件系统容量已用可用已用%挂载点 /dev/mapper/centos-root35G3.8G32...