您现在的位置是:首页 > 文章详情

Apache ECharts 6.0 震撼发布 · 前图无量

日期:2025-06-30点击:11

包含 12 项重大升级的新版本 Apache ECharts 6.0 beta 震撼发布!

12 年前的今天,ECharts 在 GitHub 首次发布,一颗开源的种子从此萌发。

从最初的图表工具,到如今成长为支撑百万级开发者的可视化巨擘;从单一的前端图表库,演进为支持移动端、大屏、服务端渲染等全场景的技术体系。这 12 年间,我们见证了 ECharts 在技术方面的持续突破,更欣喜地看到全球开发者用 ECharts 创造出无数惊艳的数据故事。

今天,作为 ECharts 12 岁生日的献礼,我们呈上诚意满满的 12 项升级,只为百尺竿头,更进一步。

6.0 功能概览

12 年的沉淀,只为更极致的可视化表达。Apache ECharts 的核心力量,始终源于对开发者真实挑战的深刻理解。当我们为 6.0 定义方向时,问题很清晰:如何让复杂数据的呈现既足够强大,又足够优雅

这驱使我们围绕三个核心维度进行深度进化:

  • 更专业的可视化呈现:从精心打磨的默认主题,到响应系统深色的智能切换,确保图表具备专业质感,无缝融入现代应用体验。

  • 拓展数据表达的边界:新增更多图表类型与功能,构建完整复杂场景应对体系,实现深度数据的直觉化表达。

  • 释放组合编排的自由:从革命性的矩阵坐标系,到可复用的自定义系列生态,再到坐标轴标签优化——赋予开发者更自由编排的能力,将创意映射为无拘束的可视化作品。

我们在这三个核心维度上做了 12 项升级。这些升级并非简单的功能叠加,而是为构建下一代数据驱动应用,铺设的坚实能力基座。它们共同指向一个目标:让 ECharts 强大、可靠、稳定地服务于后台,把舞台和聚光灯留给你的创造性表达。

下文将针对这十二项升级分别展开介绍:

  • 更专业的可视化呈现
    • 1. 全新默认主题:采用更符合现代审美的设计语言,以专业设计赋能数据表达

    • 2. 动态主题切换:支持运行时无缝切换主题,适配多主题场景

    • 3. 深色模式响应:自动适配系统深色/浅色模式,提升用户体验

  • 拓展数据表达的边界
    • 4. 新增和弦图:拓展复杂关系与分布数据的呈现方式

    • 5. 新增蜂群图:通过动态分布算法,将重叠数据点智能展开为蜂窝状排列

    • 6. 新增抖动散点图:通过增加散点图分布范围,增强高密度数据的可读性

    • 7. 新增断轴:表达数据断层,轻松呈现量级悬殊的数据对比

    • 8. 升级股市交易类图表:增强标签能力,更多开箱即用的交易类图表

  • 释放组合编排的自由
    • 9. 新增矩阵坐标系:各种图表类型和组件像表格一样自由组合,灵活布局

    • 10. 升级自定义系列:支持 npm 发布与动态注册使用,实现自定义系列代码复用

    • 11. 新增多款自定义图表:小提琴图、轮廓图、阶段图、范围柱状图、范围折线图

    • 12. 坐标轴标签优化:新版智能优化坐标标签布局,默认防溢出防重叠

我们希望通过 Apache ECharts 6.0 的全新升级,帮助用户更灵活方便地创建更多图表,实现真正的“前图无量”!

6.0 功能介绍

1. 全新默认主题

在 ECharts 6.0 的开发过程中,我们深入分析了用户的真实使用场景,发现超过七成的开发者直接采用默认主题。这让我们意识到:一个优秀的默认主题不仅要具备美学价值,更要符合各个业务场景的通用需求。

新版主题系统内部使用了设计令牌(design token)对颜色、距离等设计元素进行重构,使得不同图表类型和组件之间更和谐一致

虽然 6.0 的主题在 5.x 版本上有非常大的调整,但是我们提供了一个 v5.js 主题文件,对于希望使用新版本功能但保留原有样式的开发者,可以实现快速迁移。

2. 动态主题切换

在之前的版本中,如果想要改变一个图表的主题,就必须注销图表实例后重新初始化,二次的初始动画可能对用户体验带来负面影响。在新版本中,我们实现了主题的动态切换能力,显著地提升用户体验。

3. 深色模式响应

在实现主题的动态注册和切换之后,一个典型场景是监听系统是否使用深色模式,并动态调整图表的深色与浅色主题

这对于支持深色模式的业务场景至关重要,可以确保应用界面与系统主题风格一致,显著提升用户体验的流畅性和专业性。

4. 新增和弦图

和弦图直观展现复杂关系网络中的流量与权重,特别适合金融交易、社交网络等场景的多维度关系分析。ECharts 创新性地支持使用出节点和入节点的渐变色作为边的颜色,呈现独特的视觉美感

5. 新增蜂群图

传统的散点图在类目轴下如果数据过于密集,蜂群图(Beeswarm)通过将数据在非数值维度上的偏移,在保持数值轴准确性的前提下,实现散点图的无重叠分布

6. 新增抖动散点图

抖动散点图(Scatter Jittering)采用随机扰动策略,在非数据维度上添加固定范围的随机偏移,解决数据过于密集的问题

从下图我们可以看到,在未使用抖动的情况下,如果数据过于密集,很难看清数据的分布情况。

而在开启了数据抖动之后,可以更清楚地看到数据分布最密集的范围是 6-8 之间。并且,相比蜂群图,抖动散点图具有更高的处理性能。

7. 新增断轴

断轴(Broken Axis)是一种通过坐标轴断层展现悬殊量级数据的可视化手段。在 ECharts 6.0 中,我们创新性地实现了模拟撕纸效果的断轴,使得断轴的含义能被更直观地传递,并且支持点击展开的效果,还原到真实数据比例。

8. 升级股市交易类图表

ECharts 6.0 针对金融交易场景深度优化,增强了标签针对坐标系的相对定位能力,助力开发者快速构建专业级行情分析工具。

下图展示了一个使用 ECharts 实现的股市交易图的综合应用场景,结合了分时图、MACD、成交量、买卖盘口、深度图

这些实例可以帮助开发者快速实现金融交易场景的需求。

9. 新增矩阵坐标系

上述例子也用到了 ECharts 6.0 新增的矩阵坐标系,它的功能十分强大。不仅可以用来做协方差矩阵图:

元素周期表:

作为一种布局,它还允许开发者将各种图表类型和组件结合,创造出灵活复杂的可视化作品:

10. 升级自定义系列

过去,使用 ECharts 自定义系列意味着开发者必须从零手写 renderItem 复杂逻辑,即使是复用,也只是复制粘贴代码。现在,ECharts 6.0 带来标准化可复用方案:

  • 自定义系列的注册机制:和主题注册类似,自定义系列也可以动态注册和使用,使用方式和内置图表系列一样简单方便

  • 官方自定义系列项目:官方在 https://github.com/apache/echarts-custom-series 发布了多个自定义系列,在正式版本发布后,开发者可以通过 npm 等方便地获取

  • 发布自己的自定义系列:可以向上述项目提 Pull Request 或发布到自己的仓库,实现自定义系列的复用

11. 新增多款自定义图表

本次发布,自定义系列项目提供了 6 款实用的图表。包括小提琴图

轮廓图

睡眠阶段图

分段环形图

范围柱状图

范围折线图

发挥你的创意,快来和我们一起创造更多自定义图表吧!

12. 坐标轴标签优化

在之前的版本中,直角坐标系的 axisLabel  axisName 在数据比较长时容易超出屏幕,以及重叠。数据变化时使用者并不总能准确预估空间来完全避免它们。在这个版本中我们优化了防止超出屏幕以及防止重叠的策略,并成为默认。

升级指南

ECharts 6.0 目前已发布 beta 版本,可以通过 npm install echarts@6.0.0-beta.1抢先体验并反馈问题。正式发布后,原有项目可以通过 npm install echarts@6 升级。届时,官网将同步更新升级指南、文档及教程。

前往 GitHub Release 查看更多信息。

前图无量 · 与君同行

ECharts MCP 开源在即

在 AI 重塑数据洞察的今天,我们即将开源一个 ECharts Model Context Protocol (MCP) 项目,用大模型能力重新定义数据表达的终极形态,完成数据可视化的最后一公里,助你轻松实现前图无量

我们将在未来几个月逐步揭晓更多技术细节,以及如何利用 MCP 构建企业级智能图表服务的完整指南。请持续关注我们,获取最新技术解析和最佳实践案例。

更多详细教程

接下来的几个月,我们会持续输出更多教程,详细地介绍 ECharts 6.0 的各大新功能,敬请关注!

十二年前的星星之火,借开源的力量,已成今日之炬。ECharts 6.0 的每一行代码、每一个新功能,都凝聚着社区开发者的智慧与付出。

最后,让我们再次感谢所有为这个版本贡献过的开发者们!

百度招聘 ECharts 实习生

百度招聘 ECharts 实习生 1-2 名,负责 ECharts 新功能开发、bug 修复,表现优异者有转正机会,优先考虑未来一年内毕业的在校大学生。社招无固定名额,特别优秀者(以下岗位要求高度符合)欢迎投递简历交流。

岗位要求:

  • 对数据可视化和开源项目有热情、有想法、有能力

  • 计算机或可视化等相关专业

  • 熟练掌握 TypeScript

  • 熟练掌握原生 Canvas、SVG 编程

  •  apache/echarts 项目提过至少 2 个 Pull Request(也欢迎现在开始尝试提,不要求已合入),投递简历时必须附上至少 2 个 PR 链接。这是我们主要评估你的技术能力的方式,请投递能体现你技术水平的 PR

  • 加分项:熟悉计算机图形学、熟悉 WebGL 编程

岗位信息:

  • 工作地点:上海或北京

  • 岗位有效期至 2025.9.30

  • 简历投递至:zhangwenli01 at baidu.com

贡献者惊喜福利

2025.7.1 - 2025.9.30 期间,为 apache/echarts 项目提过至少 2 个 Pull Request(不要求已合入)的前 20 名开发者,可邮件至 zhangwenli01 at baidu.com 申请领取以下奖励:

  • ECharts 周边:T 恤、钥匙圈、别针式徽章、贴纸若干枚

  • 文心快码(基于文心大模型、结合百度编程大数据的 AI 工具)企业级会员一年以上免费使用权益。

完整版本更新记录

  • [Feature] [theme] ECharts 6.0 新主题#20865 (Ovilia)

  • [Feature] [chord] 新增和弦图系列#20522 (Ovilia)

  • [Feature] [matrix&calendar] 新增矩阵坐标系 并且所有的系列和组件 (包括其他坐标系组件,例如 grid (直角坐标系) geo polar 等) 支持声明式地布局在矩阵坐标系或日历坐标系的格中 #19807(Ovilia) #21005 (100pah)

  • [Feature] [custom] 支持可复用的自定义系列 #20226 (Ovilia)

  • [Feature] [cartesian] 引入新的布局方式避免直角坐标系 (grid 组件) 的坐标轴标签 (axisLabel) 和坐标轴名称 (axisName) 超出可视范围,以及避免他们重叠 并且设为默认 #21059 (100pah), #19534 (robin-gerling), #16825 (konrad-amtenbrink).

  • [Feature] [scatter] 支持散点图系列的抖动 #19941 (Ovilia)

  • [Feature] [axis] 支持坐标轴断轴 #19459(Ovilia) #20857 (100pah)

  • [Feature] [theme] 支持动态注册和切换主题 #20705 (Ovilia)

  • [Feature] [roam] 缩放平移的基础设施升级 - 支持用户指定 (roamTigger) 可触发缩放平移的区域;支持 clip (于 geo  series.map);支持鼠标指针样式变化以提示缩放平移区域;支持 preserveAspect (于 geoseries.mapseries.graphseries.treeseries.sankey);修复 center 的百分比基准 (于 geoseries.mapseries.graphseries.tree);优化缩放平移区域重叠时的表现#19807#issuecomment-2974437299(100pah).

  • [Feature] [thumbnail] 为关系图系列支持缩略图 #19807#issuecomment-3013454598 (100pah) #17471 (Lruler)

  • [Feature] [marker] 标记点/标记线/标记区域 (markPoint/markLine/markArea) 支持 z2 选项 #20782 (sz-p)

  • [Feature] [stack] 支持反转堆叠顺序#20998 (Justin-ZS)

  • [Feature] [sankey] 支持桑基图系列的交互缩放 (roaming) #20321 (Ovilia)

  • [Feature] [custom] 在自定义系列的 renderItem 中支持 compoundPath#20402 #21040 (Ovilia)

  • [Feature] [marker] 标记支持 relativeTo 相对坐标系的位置 #20166 #21042(Ovilia)

  • [Feature] [axis] 支持角度轴 (angleAxis) 标签的提示框 (tooltip)#20986 (plainheart)

  • [Feature] [tooltip] 支持 displayTransition 选项以控制是否启用提示框显示过渡动画 #20966 (jqqin)

  • [Feature] [legend] 支持 triggerEvent选项 #20907 (sz-p)

  • [Feature] [custom] 自定义系列 (custom series) 支持 tooltipDisabled#20447 (Ovilia)

  • [Feature] [i18n] 新增挪威博克马尔语 (nb-NO) 翻译 #20792 (joakimono)

  • [Fix] [label] 修复富文本样式不继承普通标签样式的问题 #20977 (plainheart) #21016 (100pah)

  • [Fix] [dataZoom] 修复时间轴上数据形状分布的问题 #16978 (andrearoota) #21043 #21039 (Ovilia)

  • [Fix] [tooltip] 修复类目轴上值为 null的项应能显示提示框的问题 #20777(Justin-ZS)

  • [Fix] [visualMap] 修复部分文本样式在视觉映射 (visualMap) 上不起作用的问题#20961 (plainheart)

  • [Fix] [dataZoom] 在 brushEnd 时限制范围 #20814 (mortalYoung)

  • [Fix] [heatmap] 修复日历热力图范围外的标签被意外显示的问题 #20699(plainheart)

  • [Fix] [series] 修复维度索引不匹配的问题#20682 (Justin-ZS)

  • [Fix] [bar] 修复极坐标系下的柱形图 在变化时应更新 roundCap 的问题#20582 (Ovilia)

  • [Fix] [pie] 修复当单个标签位置不在外部时,labelLine 可能未被移除并导致错误的问题 #20906 (plainheart)

  • [Fix] [sankey] 修复当 emphasis.focus 'trajectory' 时,处理大数据导致浏览器崩溃的问题 #20959 (plainheart)

  • [Fix] [custom] 修复应用离开过渡时可能出现的空指针异常 (NPE) #20920(plainheart)

  • [Fix] [dataZoom] 将 moveHandler 的光标改为默认 (default) #20304(ribeirompl)

  • [Fix] [tooltip] 修复提示框关闭后用于样式坐标变换的标记点未被移除的问题#20987 (plainheart)

  • [Fix] [bar] 从 BarSeriesOption 接口中移除未使用的 startValue 选项#20901 (plainheart)

  • [Fix] [title] 修复标题文本样式的宽度类型不应包含字符串的问题 #20800 (sz-p)

  • [Fix] [roam] 修复 RoamControllerHost 的导入路径 #20313 (Ovilia)

  • [Fix] [svg] 移除 getSvgDataURL 中的 SVG 支持检查 #20760 (plainheart)

  • [Break] 相对于 v5.6.0 的 Breaking changes:
    • 默认主题已发生变化,包括视觉样式以及组件 (component) 和系列 (series) 的默认位置设置 例如,默认图例 (legend) 的位置现在改为在画布底部 新的默认设置更加合理,但如果影响了现有用法,可以使用 echarts/theme/v5.js 恢复旧的视觉样式和位置设置 参见 #20865

    • v5 版本中的 echarts/src/theme/light.ts 已迁移至 echarts/theme/rainbow.js

    • 在直角坐标系中 (grid 组件),如果之前坐标轴名称 (axisName) 或标签 (axisLabel) 溢出画布或发生重叠,现在坐标轴的位置可能会相对之前而言略微偏移,因为默认启用了防止溢出和防止 坐标轴名称与标签重叠的机制 在大多数情况下,这些变化肉眼难以察觉 但如果出现不合理的变化,可以通过设置 grid.outerBoundsMode: 'none' 选项关闭防溢出机制,或设置 xAxis/yAxis.axisLabel.nameMoveOverlap: false 选项关闭防重叠机制 参见 #21059

    •  geoseries.mapseries.graph  series.tree 中,center 选项中百分比 (如 '33%') 的基准发生了变化 之前的百分比基准是错误的 如需恢复旧行为,可在 ECharts option 的根级别设置 legacyViewCoordSysCenterBase: true参见 #19807#issuecomment-2974437299

    • 现在标签 (label) 的 rich 样式 (fontStylefontWeightfontSizefontFamilytextShadowColortextShadowBlurtextShadowOffsetXtextShadowOffsetY) 会继承普通标签样式 如需恢复旧行为,可以在 ECharts 配置的根级别或标签样式选项同级处设置 richInheritPlainLabel: false参见 #20977

原文链接:https://my.oschina.net/echarts/blog/18679315
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章