echarts的使用

1.官网中折线视图中每个量表示的含义

在这里插入图片描述

2.案例:

1)在组建中创建一个div,写html
在这里插入图片描述
注意:要想让高度和宽度自适应,用百分比控制宽高
在这里插入图片描述
2)js的部分,设置初始化的样式
在这里插入图片描述
用一个生命周期函数,异步加载关注指标的函数
在这里插入图片描述
注意:
在这里插入图片描述
3)Echarts的X轴数据过长可以设置属性倾斜显示属性:
在这里插入图片描述
属性为:
在这里插入图片描述
interval:间隔

4)把折线图变成曲线图

smooth:true, //这个是把线变成曲线
在这里插入图片描述

3.仪表盘

效果图:
在这里插入图片描述
1)了解一下代码是哪几个大板块,series中四部分内容就是一个仪表盘一块内容
在这里插入图片描述
2)第一个仪表盘
在这里插入图片描述
在这里插入图片描述
3)第二个仪表盘
在这里插入图片描述
3)第三个仪表盘
在这里插入图片描述
设置半圆仪表盘
在这里插入图片描述

4.饼状图

在这里插入图片描述
大致分析:
在这里插入图片描述

5.基本水球图

安装:cnpm install echarts-liquidfill -D
在这里插入图片描述
使用:
①创建一个div
在这里插入图片描述
②按照惯例写到js中,注意一下控制大小的方法
在这里插入图片描述
效果图:
在这里插入图片描述

6.vue中使用echarts

1)安装echarts依赖

npm install echarts -S

2)全局引入

在main.js中

// 引入echarts
import echarts from ‘echarts’
Vue.prototype.$echarts = echarts

3)在Echarts.vue中

<div id="myChart" :style="{width: '300px', height: '300px'}"></div>
export default {
  name: 'hello',
  data () {
    return {
      msg: 'Welcome to Your Vue.js App'
    }
  },
  mounted(){
    this.drawLine();
  },
  methods: {
    drawLine(){
        // 基于准备好的dom,初始化echarts实例
        let myChart = this.$echarts.init(document.getElementById('myChart'))
        // 绘制图表
        myChart.setOption({
            title: { text: '在Vue中使用echarts' },
            tooltip: {},
            xAxis: {
                data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
            },
            yAxis: {},
            series: [{
                name: '销量',
                type: 'bar',
                data: [5, 20, 36, 10, 10, 20]
            }]
        });
    }
  }
}

注意:我们要在mounted生命周期函数中实例化echarts对象。因为我们要确保dom元素已经挂载到页面中
在这里插入图片描述
4)按需引入
由于全局引入会将所有的echarts图表打包,导致体积过大
在Echarts.vue文件中

// 引入基本模板
let echarts = require('echarts/lib/echarts')
// 引入柱状图组件
require('echarts/lib/chart/bar')
// 引入提示框和title组件
require('echarts/lib/component/tooltip')
require('echarts/lib/component/title')

使用 require 而不是 import

4)问题

  • tab切换的时候会导致echarts图片变高缩小怎么解决?
    方法一:
    我自己之前是用这个方法解决的
    数据异步获取后,在挂载到dom的变量上的时候,外面用this.$nextTick包裹一下
this.$nextTick(function () {
  	this.echartsData=res.data
});

下面的两种方法都是网上查的
方法二:
记住一定要切换到当前tabs的时候在执行下面代码,不要页面初始化的时候把tabs里面的echarts都执行完,跳到哪个执行哪个!!!!

this.$nextTick(function () {
  	mychart.setOption(option,true);//true用来解决数据不更新问题
});

方法三:

myChart.resize();
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值