Vue中Echarts动态数据的实现

最终效果

在这里插入图片描述

实现过程

引入Echarts依赖
npm install echarts --save
模版文件代码
<template>
    <div class="home">
        <h1>Echarts 动态数据</h1>
        <button @click="start">开始执行</button>
        <button @click="stop">停止执行</button>
        <div style="width:100%; height:500px;" ref="main"></div>
    </div>
</template>
<script>
import * as echarts from 'echarts'
export default {
    name: 'Home',
    data(){
        return{
            myChart: null,
            dataList: [5,20,36,10,10,20],
            timer: null,
            option: null,
        }
    },
    methods:{
        showEcharts(){
            this.myChart = echarts.init(this.$refs.main);
            this.option = {
                title: {
                    text: 'Echarts 入门示例'
                },
                tooltip: {},
                xAxis: {
                    data: ['衬衫','羊毛衫','雪纺衫','裤子','高跟鞋','袜子']
                },
                yAxis: {},
                series: [
                    {
                        name: '销量',
                        type: 'line',
                        data: this.dataList,
                        smooth: true
                    }
                ]
            }
            this.myChart.setOption(this.option);
                
        },
        start(){
            this.timer = setInterval(()=>{
                // this.myChart.dispose();
                // this.showEcharts();
                this.dataList[parseInt(5*Math.random())] = parseInt(50*Math.random());
                this.myChart.setOption(this.option);
            },200)
        },
        stop() {
            clearInterval(this.timer);
        }
    },
    mounted(){
        this.showEcharts();
    }
}
</script>

上面的Echarts是使用的官网最简单的入门示例,只不过这里实现方式上有所区别。要实现动态数据最主要的方法是让Echarts的option重新设置。这里在初始化完成Echarts后,将option最为data中的值,这样是为了方便再其他地方重新设置option。代码中在start方法中就是对Echarts的option重新赋值后进行重设。

  • 2
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@胡海龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值