eCharts 学习笔记
1、简介
eCharts 是百度出品的一款基于 JavaScript 的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。最开始是由百度团队开源的,后面于2018年交由Apache基金会,称为ASF孵化项目。并于2021年1月26日正式毕业。
2、在 Vue 中使用
- 首先下载 eCharts:
1
npm install echarts --save
- 全局引入 eCharts:
1
import * as echarts from 'echarts';
- 或者可以按需引入
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30// 引入 echarts 核心模块,核心模块提供了 echarts 使用必须要的接口。
import * as echarts from 'echarts/core';
// 引入柱状图图表,图表后缀都为 Chart
import { BarChart } from 'echarts/charts';
// 引入提示框,标题,直角坐标系,数据集,内置数据转换器组件,组件后缀都为 Component
import {
TitleComponent,
TooltipComponent,
GridComponent,
DatasetComponent,
DatasetComponentOption,
TransformComponent
} from 'echarts/components';
// 标签自动布局,全局过渡动画等特性
import { LabelLayout, UniversalTransition } from 'echarts/features';
// 引入 Canvas 渲染器,注意引入 CanvasRenderer 或者 SVGRenderer 是必须的一步
import { CanvasRenderer } from 'echarts/renderers';
// 注册必须的组件
echarts.use([
TitleComponent,
TooltipComponent,
GridComponent,
DatasetComponent,
TransformComponent,
BarChart,
LabelLayout,
UniversalTransition,
CanvasRenderer
]);
3、基本语法结构
在使用 eCharts 之前,我们需要给它一个 DOM 容器,官方是推荐我们使用具有定义好的长和宽的一个父容器(可以是 div )。
所以我们首先构建一个父容器 div 来存放 eCharts 图表
1 | <div id="billreport" |
由于 eCharts 基于js构建的,所以只要会js的语法,eCharts的语法自然也不在话下。
而 eCharts 的基本语法结构为:
1 | setup(){ |
4、图表配置信息
图表配置信息,即 option 中的内容,在这一部分,我们将配置一系列的信息,正是这些信息生成了对应的图表。
1 | option:{ |
图表类型表:
配置 | 图表类型 |
---|---|
type: ‘bar’ | 柱状/条形图 |
type: ‘line’ | 折线/面积图 |
type: ‘pie’ | 饼图 |
type: ‘scatter’ | 散点(气泡)图 |
type: ‘effectScatter’ | 带有涟漪特效动画的散点(气泡) |
type: ‘radar’ | 雷达图 |
type: ‘tree’ | 树型图 |
type: ‘treemap’ | 树型图 |
type: ‘sunburst’ | 旭日图 |
type: ‘boxplot’ | 箱形图 |
type: ‘candlestick’ | K线图 |
type: ‘heatmap’ | 热力图 |
type: ‘map’ | 地图 |
type: ‘parallel’ | 平行坐标系的系列 |
type: ‘lines’ | 线图 |
type: ‘graph’ | 关系图 |
type: ‘sankey’ | 桑基图 |
type: ‘funnel’ | 漏斗图 |
type: ‘gauge’ | 仪表盘 |
type: ‘pictorialBar’ | 象形柱图 |
type: ‘themeRiver’ | 主题河流 |
type: ‘custom’ | 自定义系列 |
5、x 轴、y 轴
x 轴和 y 轴都由轴线、刻度、刻度标签、轴标题四个部分组成。
一般情况下,二维的图标结构都会有 x 轴和 y 轴,通常情况下,x 轴会在图表的下方,而 y 轴在图表的左边。
而 eCharts 也提供了一些特定的坐标轴的设置选项,如:
轴线:
我们可以通过 axisLine 来对轴线进行设置,比如轴线两头的箭头,轴线的样式等等,比如:
1 | option = { |
轴线两边的箭头选项:
坐标轴刻度:
ECharts 提供了轴线 axisTick 相关的配置,我们可以根据实际情况调整,例如刻度线的长度,样式等。以下是一个坐标轴刻度的例子:
1 | option = { |
刻度标签:
ECharts 提供了轴线 axisLabel 相关的配置,我们可以根据实际情况调整。以下是一个例子:
如上图所示,下面的星期就是刻度标签
1 | option = { |
标签中的formatter:
1 | // 使用字符串模板,模板变量为刻度默认标签 {value} |
更多关于 formatter 的内容可以参考官方的 API
6、主题配置
在eCharts的内部,内置了两套主题,分别是亮色主题以及暗色主题
通过以下的方式,我们可以修改主题
1 | var chart = echarts.init(dom, 'light'); |
或者我们可以通过eCharts的主题编辑器来创建自己的主题
7、数据集(dataset)
dataset 组件可以用于单独的数据集声明,从而数据可以单独管理,被多个组件复用,并且可以基于数据指定数据到视觉的映射。
写法一:
1 | dataset: { |
在 dataset 中管理数据之后,就可以不用在 series 单独进行数据的声明,而是直接在 data 除进行调用
1 | // 声明多个柱状图系列,默认情况下,每个系列会自动对应到 dataset 的每一列。 |
写法二:
1 | dataset: { |
8、图例
图例是图表中对内容区元素的注释、用不同形状、颜色、文字等来标示不同数据列,通过点击对应数据列的标记,可以显示或隐藏该数据列。图例虽然不是图表中的主要信息、却是了解图表信息的钥匙。
以下是一个例子:
1 | option = { |
显示内容如下:
更多内容参考官方 API