# 图表基础组件
my-chart
是封装ECharts的Vue组件,所有图表都是基于my-chart
进行扩展。
# 使用注意
my-chart组件并未引入echart的series组件,因此直接使用“my-chart”组件时,需要先引入echart的控件:
<template>
<my-chart :options="options" width="500px" height="300px"></my-chart>
</template>
<script>
import 'echarts/lib/chart/bar' // 引入bar控件,使my-chart 能够使用“bar”样式
export default {
// ......
}
</script>
2
3
4
5
6
7
8
9
# 通用参数
# 尺寸相关
与尺寸相关的有以下3个参数:
# width
设置图表宽度,默认100%, 支持像素和百分比单位
# height
设置图表高度,默认400px, 支持像素和百分比单位
# fit
自动适应父容器尺寸
# 主题风格
通过设置 theme
指定主题风格,内置了两套风格: 默认light
,dark
theme
支持设置对象形式
# 主题颜色
my-chart的主题颜色如下, 如果需要更改chart 的主题样式,可以通过 “extend.color: ['red', 'green']” 来实现
# 显示加载动画
可设置loading
显示加载中提示
# 扩展ECharts选项
通过 extend
设置 ECharts 的 option
# 开发辅助
通过设置debug打印
ECharts的
option` 校验参数传递是否正确
# 指标和维度
数据由指标和维度组成。以一组常见的数据为例:
日期 | 访问用户 | 下单用户 |
---|---|---|
2018-05-22 | 32371 | 29810 |
2018-05-23 | 12328 | 11398 |
2018-05-24 | 92381 | 82910 |
“维度” 指的是数据的属性,例如表格中的 “日期” 维度,表示生成的每组数据的日期。
“指标” 是量化衡量标准,例如表格中的 “访问用户” 和 “下单用户”。
图表的组件用 data
属性数据格式如下所示:
{
columns: ['日期', '访问用户', '下单用户'],
rows: [
['2018-05-22', 32371, 29810],
['2018-05-23', 12328, 11398],
['2018-05-24', 92381, 82910]
]
}
2
3
4
5
6
7
8
9
columns
中是维度和指标的集合,大部分图表都是单维度多指标,所以默认第一个值为 维度,剩余的值为指标。
rows
中是数据的集合。
以上面的这组数据为例绘制一个折线图
# columns
columns
的各项可以是字符串或对象描述,如一下两者是等价的:
{
columns: ['日期', '访问用户', '下单用户'], // 字符串形式
columns: [ // 对象形式
{
name: 'date',
displayName: '日期'
},
{
name: 'vistor',
displayName: '访问用户'
},
{
name: 'order',
displayName: '访问用户'
}
]
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
columns
还支持对该列数数据进行预处理的属性设置,如:
- type :表示数据类型,通常不需要设置,echarts 会自动识别,可选值:number | ordinal | float | float | time
- unit :表示转换数据单位,需要对数据进行转换时设置,可选值:k(千) | w(万) | p(百分比)
- precision : 转换数据精度,保留几位小数,默认:0
- sort :Boolean值, 表示排序,从大到小
{
columns: [
'日期',
{
name: 'vistor',
displayName: '访问用户',
type: 'number',
unit: 'k',
precision: 2,
sort: true
}
]
}
2
3
4
5
6
7
8
9
10
11
12
13
# rows
rows
中是数据的集合。 可以是一个二维数组 或 对象数组形式,以下两者也是等价的。
{
columns: ['日期', '访问用户', '下单用户'],
rows: [
['2018-05-22', 32371, 29810],
{'日期': '2018-05-22', '访问用户': 32371, '下单用户': 29810}
]
}
2
3
4
5
6
7
也可设置字段属性的别名。
{
columns: [
{
name: 'date',
displayName: '日期'
},
{
name: 'vistor',
displayName: '访问用户'
},
{
name: 'order',
displayName: '访问用户'
}
]
rows: [
{date: '2018-05-22', vistor: 32371, order: 29810}
]
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 图表组件私有参数
不用的图表组件都有自己的私有参数,实现了高频的需求。参数名 settings
,是对象类型。
# 扩展参数
当私有参数不能满足需求时,可以通过扩展参数 extend
设置需要的功能。 兼容ECharts option对象。
为了能够更方便的设置属性配置项等,可以通过extend属性实现对已配置好的内部属性进行单独的设置, extend为对象类型,对象内的属性可以是函数,也可以对象,也可以是其他类型的值
- 当属性为函数时,设置的是函数的返回值
- 当属性为对象时,如果在options中对应的属性为对象(eg: tooltip)或包含对象的数组(eg: series), 对应的配置会被合并,否则将直接覆盖对应的配置