[记录] 图表库ECharts的用法

306 阅读2分钟

介绍

ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。

GitHub地址: github.com/apache/echa…

基本概念

image.png

  • title: 图表的标题
  • legend: 图例,用来展示不同系列serise数据的标记
  • grid:坐标系,常用的是直角坐标系
  • xAxis: x轴的配置在这里
  • yAxis: y轴的配置在这里
  • tooltip: 提示框组件
  • axisPointer: 坐标轴指示器,指示坐标轴当前刻度的工具。

如何配置想要的效果?

参考官方示例,边改参数边看效果:echarts.apache.org/examples/zh…

注意事项

为了性能的考虑,一般不要全量引入echarts的所有资源,要采用按需加载的方法引入,避免体积过大影响网站加载速度。

按需加载有2种方法,

第一种:在线定制echarts功能: echarts.apache.org/zh/builder.…,勾选相应模块后的会得到一个js文件,可以通过script的形式引入项目;

第二种:采用代码引入的方式,目前一般都是使用es moduleimport方式。

// 按需加载 ------ begin
// 引入 echarts 核心模块,核心模块提供了 echarts 使用必须要的接口。
import * as echarts from 'echarts/core';
// 引入折线图表,图表后缀都为 xxChart
import { LineChart } from 'echarts/charts';
// 引入提示框,直角坐标系,标线,组件后缀都为 Component
import {
  TooltipComponent,
  GridComponent,
  MarkLineComponent,
} from 'echarts/components';
// 引入 Canvas 渲染器,注意引入 CanvasRenderer 或者 SVGRenderer 是必须的一步
import { CanvasRenderer } from 'echarts/renderers';
 
// 注册必须组件
echarts.use([
  TooltipComponent,
  GridComponent,
  MarkLineComponent,
  LineChart,
  CanvasRenderer,
]);
// 按需加载 ------ end
 
// 大坑!!!😭  这里有一个bug,有空可以给 echarts 提PR
// 如果没有引入 TooltipComponent 直接使用的话,会在console中报错,提示开发者需要先引入;
// 但是没有引入 MarkLineComponent 而直接使用标线功能的话, 却不会在console中显示任何报错
// 没有任何提示,即使 option 参数的代码是正确的也无济于事,这里了肯定是他们漏掉了。

完。