echart 初始配置详解

本文章记录项目中的echart的使用
1.npm安装

npm install echarts --save

2.项目文件中引用

import echarts from 'echarts'

3.初始化echart实例

<div ref="lineChart" style="height: 400px;width: 98%;"></div>
this.chart = echarts.init(this.$refs.lineChart)

4.绘制图标(参数详解)
echart的实例上有一个setOption方法需要传入一个对象,对象中的每一个key是你所绘制图表的配置项,value是配置项对应的值。
以线性图为例:

chart.setOption({
    title: {
        text: '图表名称'
    },
    // 图表提示框配置
    tooltip: {
		axisPointer: {//坐标轴指示器配置项
           type: 'line'//直线指示器
        },
        //提示框位置设置
        position: function (pos, params, dom, rect, size) {
            // 鼠标在左侧时 tooltip 显示到右侧,鼠标在右侧时 tooltip 显示到左侧。
            var obj = {top: 0};
            obj[['left', 'right'][+(pos[0] < size.viewSize[0] / 2)]] = 5;
            return obj;
        },
        //提示框内容设置
        formatter:function (params){//params是每个x轴对应y轴的所有数据
             let str= params[0].axisValue.indexOf('第') === -1?moment(params[0].axisValue).format('YYYY-MM-DD') +"</br>": params[0].axisValue+"</br>"
             for (const iterator of params) {
                 str = str+ iterator.marker+""+iterator.seriesName + ': ' + iterator.value + self.unit +"</br>" 
             }
             return  str ;
         }
	},
	grid: {//grid 组件离容器的距离
        top: 30,
        left: 60,
        bottom: 70,
        right: 60
    },
	legend: {//线性图:几种线条
		//线条位置配置
        x: 'center', // 'center' | 'left' | {number},
        y: 'top', // 'center' | 'bottom' | {number}
        bottom: 10,
        type: 'scroll',
        data: this.lineData.cateName//线条名称
    },
    xAxis: {//直角坐标系的x轴
    	//数据一般是后端返回,前端要把这个数据做处理,需要x轴显示什么就把对应的数据push到数组里
        data: []//x轴的数据
    },
    yAxis: {//直角坐标系 grid 中的 y 轴
        type: 'value',//坐标轴类型,这里是数值轴
        axisLabel: {//坐标轴刻度标签的相关设置
            formatter: function (value) {
                let text = ''
                if (self.unit === '%') {
                    text = value + self.unit
                } else {
                    text = value
                }
                return text
            }
        },
        min: self.yMin //坐标轴刻度最小值
    },
   dataZoom: [{//用于区域缩放,能自由关注数据信息
            type: 'inside',//内置型数据区域缩放组件(平移和缩放)
            start: 0,//数据窗口范围的起始百分比
            end: 100,//数据窗口范围的结束百分比
            zoomOnMouseWheel: 'ctrl'//如何触发缩放
        },
        {//滑动条型数据区域缩放组件
            show: true,
            type: 'slider',
            y: '90%',
            start: 50,//数据窗口范围的起始百分比
            end: 100
        }
    ],
    series: this.seriesList()//折线图上的数据
});

图标数据处理

//这里会对数据做处理
seriesList () {
     let list = []
     for (const key in this.lineData.series) {
         list.push({
             name: key,
             type: 'line',//类型
             data: this.lineData.series[key],
             label: {//当前数据点是否显示数据
                 show: false
             },
             itemStyle: {
                 normal: {
                     lineStyle: {
                         color: color[key], //改变折线颜色
                     }
                 }
             },
         })
     }
     return list 
 }

成表展示:
在这里插入图片描述
链接: 参考资料

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值