mpvue 使用echarts动态绘制图表(数据改变重新渲染图表)
最近在公司开发一款微信小程序,按照客户需求用饼状图显示当前设备状态(开机、故障、关机),于是就在网上寻找各种资料,找了很多mpvue使用关于echarts绘制图表,最终功夫不负有心人,找到一篇关于mpvue使用echarts的文章,链接点击这里,需要的同学自行查看。这里面说明了如何使用echarts绘制图表,其中echarts的配置项option大家可以查看echarts的官方文档进行配置,请移步这里,点击对应的实例,里面就有详细的option配置,还有一些关于echarts使用参数及配置手册请看这里。
下面我将为大家介绍如何会根据后台返回的数据多次渲染图表,先给大家看一段mpvue中使用echarts的代码
<template>
<div class="container">
<div class="echarts">
<div class="wrap">
<mpvue-echarts :echarts="echarts" :onInit="initChart" />
</div>
</div>
</div>
</template>
<script>
import machineList from './machineList'
import * as echarts from '../../../static/echarts/echarts.min'
import mpvueEcharts from 'mpvue-echarts'
let chart = null
export default {
data () {
return {
echarts,
IN_PRODUCTION: 1,
IN_STAND: 1,
OFF_LINE: 1,
BREAKDOWN: 1,
machineList: [],
showState: false,
machineState: 'IN_PRODUCTION'
}
},
components: {
mpvueEcharts,
machineList
},
onLoad () {
this.getMachineStateInfo()
},
methods: {
stateChange (val) {
this.machineState = val
},
test () {
var option = {
calculable: false,
series: [
{
type: 'pie',
radius: '55%',
center: ['50%', '60%'],
data: [
{value: this.IN_PRODUCTION, name: '开机 : ' + this.IN_PRODUCTION},
{value: this.OFF_LINE, name: '关机 : ' + this.OFF_LINE},
{value: this.BREAKDOWN, name: '故障 : ' + this.BREAKDOWN}
]
}
]
}
chart.setOption(option)
},
initChart (canvas, width, height) {
chart = echarts.init(canvas, 'light', {
width: width,
height: height
})
canvas.setChart(chart)
return chart
},
async getMachineStateInfo () {
let resp = await this.$http.get('machine/state/count')
if (resp.data.code === 1) {
this.IN_PRODUCTION = resp.data.data.machineOpen
this.OFF_LINE = resp.data.data.machineClosed
this.BREAKDOWN = resp.data.data.machineAlarm
setTimeout(() => {
this.test()
},1000)
} else {
wx.showToast({
title: resp.data.message,
icon: 'none',
duration: 3000
})
}
}
}
}
</script> <style scoped>
.echarts{
width: 100%;
font-size: 14px;
}
.wrap {
width: 100%;
height: 200px;
margin: 30px auto;
margin-top: 0px;
}
</style>
mpvue 使用 echarts
按照其他博客介绍,echarts的option配置选项是写到图表初始化函数initChart中,我这里把配置项option提出来写到test函数中目的就是根据后台数据多次渲染图表,echarts图表多次渲染的原理就是更换配置项中的某些值,然后chart.setOption(option)。这里有一个getMachineStateInfo函数,就是从后台读取渲染图表需要的数据。如果看了代码还有什么不懂的可以评论区评论或者留言,我将会在第一时间解答。
mpvue 使用echarts动态绘制图表(数据改变重新渲染图表)的更多相关文章
- vue+echarts 动态绘制图表以及异步加载数据
前言 背景:vue写的后台管理,需要将表格数据绘制成图表(折线图,柱状图),图表数据都是通过接口请求回来的. 安装 cnpm install echarts --s (我这里用了淘宝镜像,不知道同学自 ...
- echarts动态加载数据无法更新series 无法更新图表
最近遇到一个Echarts图表无法动态更新数据的问题 最初我在option中设置series的值为一个数组,想着通过修改数组来动态更新图表,但是没变 化,后来发觉是因为图表数据会和之前的合并 看官方的 ...
- jquery mobile动态加载数据后无法渲染
引自:http://blog.sina.com.cn/s/blog_025270e901016lst.html jquery mobile在动态添加html之后无法渲染控件,无法转换控件的办法! jq ...
- asp.net中绘制大数据量的可交互的图表
在一个asp.net项目中要用到能绘制大数据量信息的图表,并且是可交互的(放大.缩小.导出.打印.实时数据),能够绘制多种图形. 为此进行了多方调查预研工作,预研过微软的MsChart图表组件.基于j ...
- Echarts使用及动态加载图表数据 折线图X轴数据动态加载
Echarts简介 echarts,缩写来自Enterprise Charts,商业级数据图表,一个纯JavaScript的图表库,来自百度...我想应该够简洁了 使用Echarts 目前,就官网的文 ...
- echarts图表数据信息动态获取
第一步准备一个json文件echarts.json(名字无所谓),用来模拟从后台获取数据 { "name":["直达","营销广告",&qu ...
- Echarts使用及动态加载图表数据
Echarts使用及动态加载图表数据 官网:http://echarts.baidu.com/ 1.文档 2.实例 名词: 1.统计维度(说明数据) 维度就是统计致力于建立一个基于多方位统计(时间.地 ...
- echarts一个页面动态加载两张不同图表数据
参考 http://www.stepday.com/topic/?877 http://blog.csdn.net/for_china2012/article/details/45167161 // ...
- echarts在.Net中使用实例(二) 使用ajax动态加载数据
通过上一篇文章可以知道和echarts参考手册可知,series字段就是用来存储我们显示的数据,所以我们只需要用ajax来获取series的值就可以. option 名称 描述 {color}back ...
随机推荐
- C#编译和运行过程图例
一张图,描述C#编译和运行过程,比较容易记忆理解
- Tomcat7.0安装配置详细(图文)
说明:Tomcat服务器上一个符合J2EE标准的Web服务器,在tomcat中无法运行EJB程序,如果要运行可以选择能够运行EJB程序的容器WebLogic,WebSphere,Jboss等Tomca ...
- MYSQL查询优化(Ⅱ)
本文列举出五个MySQL查询优化的方法,当然,优化的方法还有很多. 1.优化数据类型 MySQL中数据类型有多种,如果你是一名DBA,正在按照优化的原则对数据类型进行严格的检查,但开发人员可能会选择他 ...
- Java学习第二篇 — 时间类的使用
package DateTest; import java.util.Date; public class Date1 { public static void main(String[] args) ...
- 【C#数据结构系列】查找
一:查找 1.1 基本概念和术语 查找(Search)是在数据结构中确定是否存在关键码等于给定关键码的记录的过程.关键码有主关键码和次关键码.主关键码能够唯一区分各个不同的记录,次关键码通常不能唯一区 ...
- python匿名函数lambda与switch的实现
1,lambda的语法跟es6的箭头函数差不多 >>> show=lambda x,y: x * y >>> show( 10, 20 ) 200 2,递归求阶乘 ...
- POJ3468(KB7-C 线段树)
A Simple Problem with Integers Time Limit: 5000MS Memory Limit: 131072K Total Submissions: 108903 ...
- php实现同一时间内一个账户只允许在一个终端登陆
在账户表的基础上,我新建了一个账户account_session表,用来记录登录账户的account_id和最新一次登录成功用户的session_id,然后首先要修改登录方法:每次登录成功后,要将登录 ...
- span元素文字自动换行
<span>加上display:inline-block,成功实现了想要的效果.但又有一个问题,纯连续字母和数字不会换行,最后加上word-wrap: break-word强制自动换行搞定 ...
- 多个Portal for ArcGIS 间的协作实操
原理 协作Colabartion 通过类似握手协议的方式在多个Portal之间建立信任关系.一个协作由一个宿主Portal和多个受邀Portal组成. 工作空间Workspace 一个协作可包含多个工 ...