强大的数据可视化
ECharts 库

一款开源、功能丰富、高性能的数据可视化库,帮助你轻松创建各种交互式图表。

用户头像 用户头像 用户头像 用户头像
10k+

全球超过10,000名开发者在使用

什么是 ECharts?

ECharts 是一款由百度开发的开源数据可视化库,提供了丰富的图表类型和交互功能

ECharts(Enterprise Charts)是一个使用 JavaScript 实现的开源可视化库,最初由百度团队开发并维护,现在由 Apache 软件基金会孵化。

它提供了直观、交互丰富、可高度定制的数据可视化图表,支持折线图、柱状图、散点图、饼图、K线图等多种图表类型,满足各种数据展示需求。

ECharts 具有良好的兼容性,能够在 PC 端和移动设备上流畅运行,并且支持多种数据格式和动态数据更新。

核心特性

  • 丰富的图表类型和交互方式
  • 高性能的大数据可视化能力
  • 完善的文档和活跃的社区支持
  • 高度可定制的图表样式和主题

基础图表

折线图、柱状图、饼图等常用图表

地理可视化

地图、热力图、轨迹图等地理相关图表

3D 可视化

3D 柱状图、散点图等立体图表

交互组件

数据筛选、缩放、拖拽等交互功能

免费服务与许可

ECharts 提供完全免费的使用权限,同时提供丰富的官方资源支持

开源免费

ECharts 基于 Apache License 2.0 开源协议发布,个人和商业用途均完全免费,无需支付任何许可费用。

免费文档

提供详尽的官方文档,包括快速入门、配置项手册、API 参考等,所有内容完全免费开放。

自由修改

允许根据自身需求修改源代码,定制专属功能,只需在修改后保留原作者信息和协议声明。

商业使用说明

ECharts 可完全免费用于商业项目,无需支付任何授权费用。但在使用时需要遵守以下条款:

  • 保留软件中的版权声明和许可信息
  • 修改后的代码仍需遵循 Apache License 2.0 协议
  • 不得使用原作者的名义为修改后的软件提供担保

优点与缺点

全面了解 ECharts 的优势和局限性,帮助你做出更合适的技术选择

主要优点

丰富的图表类型

提供超过 30 种图表类型,涵盖基本图表、统计图表、地理图表、3D 图表等,满足各种数据可视化需求。

强大的交互能力

支持拖拽、缩放、平移、数据筛选、提示框等丰富的交互功能,提升用户体验和数据分析效率。

优秀的性能表现

针对大数据量进行了优化,能够高效渲染十万级甚至百万级数据,保持流畅的交互体验。

良好的兼容性

兼容主流浏览器,包括 Chrome、Firefox、Safari、Edge 等,同时支持移动设备的触摸操作。

丰富的社区资源

拥有庞大的用户社区和丰富的第三方插件、主题和示例,问题解决资源丰富。

主要缺点

学习曲线较陡

配置项繁多,API 较为复杂,对于新手来说需要一定的学习成本才能熟练掌握。

文件体积较大

完整版本的 ECharts 体积较大(约 300KB+),可能会影响页面加载速度,需要按需引入模块。

对 React 等框架支持有限

虽然有第三方封装库(如 react-echarts),但官方对 React、Vue 等现代前端框架的原生支持不够完善。

高级功能需要定制

某些特殊的可视化需求和高级交互效果需要通过自定义扩展来实现,不够开箱即用。

英文文档不够完善

虽然有英文版本的文档,但相比中文文档,内容更新较慢,部分高级功能的英文说明不够详细。

社区用户评论

来自全球开发者的真实使用体验和评价

4.8
平均评分
5.2k
活跃用户
96%
推荐率
12k+
下载次数

使用方法

快速入门 ECharts,创建你的第一个可视化图表

1 引入 ECharts

你可以通过 CDN 引入 ECharts,也可以下载到本地后引入。推荐使用 CDN 方式,简单快捷:

<!-- 引入 ECharts -->
<script src="https://cdn.jsdelivr.net/npm/echarts@5.4.3/dist/echarts.min.js"></script>

或者使用 npm 安装:

npm install echarts --save

2 准备 DOM 容器

在 HTML 中创建一个具有宽高的 DOM 元素,作为图表的容器:

<!-- 为 ECharts 准备一个具备大小的 DOM -->
<div id="main" style="width: 600px; height: 400px;"></div>

容器必须设置宽度和高度,否则图表将无法显示。建议使用 CSS 而非 inline style 来设置样式。

3 初始化实例

通过 echarts.init 方法初始化一个 ECharts 实例:

// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));

如果使用模块化引入(如 ES6 import):

import * as echarts from 'echarts';

// 基于准备好的dom,初始化echarts实例
const myChart = echarts.init(document.getElementById('main'));

4 配置图表选项

配置图表的选项,包括数据、样式、交互等:

// 指定图表的配置项和数据
var option = {
  title: {
    text: 'ECharts 入门示例'
  },
  tooltip: {},
  legend: {
    data: ['销量']
  },
  xAxis: {
    data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
  },
  yAxis: {},
  series: [
    {
      name: '销量',
      type: 'bar',
      data: [5, 20, 36, 10, 10, 20]
    }
  ]
};

这是一个简单的柱状图配置,包含以下几个主要部分:

  • title:图表标题
  • tooltip:提示框组件
  • legend:图例组件
  • xAxis:x 轴配置
  • yAxis:y 轴配置
  • series:系列数据,type: 'bar' 表示柱状图

5 渲染图表

使用 setOption 方法将配置项设置到图表实例中,完成图表渲染:

// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);

效果展示:

当数据或配置发生变化时,可以再次调用 setOption 方法,ECharts 会自动更新图表。

6 高级配置

ECharts 提供了丰富的高级配置选项,以下是一些常用的功能:

响应式调整

// 监听窗口大小变化,调整图表尺寸
window.addEventListener('resize', function() {
  myChart.resize();
});

事件监听

// 监听点击事件
myChart.on('click', function(params) {
  console.log('点击了图表元素:', params);
});

主题切换

// 使用深色主题初始化图表
var myChart = echarts.init(document.getElementById('main'), 'dark');

// 动态切换主题
myChart.setOption({
  backgroundColor: '#141414',
  textStyle: { color: '#fff' }
  // 其他主题相关配置...
});