0
点赞
收藏
分享

微信扫一扫

echarts标准写法

天蓝Sea 2022-02-07 阅读 75
echarts

步骤1:引入echarts

步骤2:准备一个呈现图表的盒子

步骤3:初始化echarts实例对象

步骤4:准备配置项

步骤5:将配置项设置给echarts实例对象

data(){
    return {
        chartInstance: null,
        allData: null,
        totalPage:0,
        currentPage:1,
        timerId:null
    }
},
methods:{
    //初始化echartInstance对象
    initChart(){
        this.chartInstance=this.$echarts.init(this.$refs.seller_ref)
    },
    //获取数据
    async getData(){
        const {data:ret} = await this.$http.get('seller)
        this.allData = ret
        this.totalPage=this.allData.length%5===0?this.allData.length/5:this.addData.length/5+1
        this.updateChart()
        this.startInterVal()
    },

    updateChart(){
        const start=(this.currentPage-1)*5
        const end =this.currentPage*5
        const showData=this.allData.slice(start,end)
        const sellerNames= this.showData.map((item)=>{return item.name})
        const sellerValues= this.showData.map((item)=>{return item.value})
        const option={
            xAxis:{type:'value'},
            yAxis:{
                type:'catogry',
                data:sellerNames
            },
            series:[
                {
                    type:'bar',
                    data:sellerValues
                }
            ]
        }
        this.chartInstance.setOption(option)
    },
    startInterVal(){
        this.timerId=setInterval(()=>{
            this.currentPage=1
            if(this.currentPage>this.totalPage){
                this.currentPage=1
            }
            this.updateChart()
        },3000)
    }
}

initChart()

getData()

updateChart(){}

主题设置:

1. 内置主题:echarts中默认内置了两套主题:light dark;

在初始化对象方法init中可以指明:var chart = echarts.init(dom,'light');

2. 自定义主题:在主题编辑器中编辑主题,下载主题,是一个js文件;引入js主题;在init中使用

自适应:

myChart.setOption(option)
//监听window的窗口大小的事件
//写法一:
window.onresize=function(){
    myChart.resize()
}
//写法二:
window.onresize=myChart.resize();

加载动画:

1. 显示加载动画:myChart.showLoading()

2.隐藏加载动画:myCharts.hideLoading()

增量动画

myCharts.setOption(option)

setOption可以设置多次

新的option和旧的option的关系不是相互覆盖的关系,是相互整合的关系

我们在设置新的option的时候,只需要考虑到变化的部分就可以了

比如:option={ series:[{data:newArr}]}

        myCharts.setOption(option);

xDaraArr.push('‘小明’);

yDataArr.push(90)

option ={

xAxis:{data:xDataArr},

series:[{data:yDataArr}]

}

myCharts.setOption(option);

举报

相关推荐

0 条评论