ECharts 版本记录

[+]新增 [-]删除 [^]升级 [#]修复

v4.1.0.rc2

2018-05-02
  • [Feature] 支持了中等规模数据量K线图和柱状图的渲染(200K 数据)。并且可以使用 series-candlestick.progressiveChunkMode 设定渐进渲染的模式。 查看示例 candlestick-large

  • [Feature] 支持树图的布局:从右向左,从下向上。#7351 #7154。查看示例 tree-orient-right-lefttree-vertical

  • [Feature] 图例路径支持 keeping-aspect. #7831

  • [Feature] 桑基图支持节点拖拽。查看示例 sankey-energy

  • [Enhance] 类目轴优化:

    • 为中等规模数据 (> 100K ~ 1M) 性能优化。
    • 当没有足够空间时,优化了轴的提示标志(axisTick)和标签(axisLabel)的展示策略。
    • 数据窗口改变时(使用 dataZoom),优化了轴的提示标志(axisTick)和轴的标签(axisLabel)的动画。
  • [Enhance] 折线图中,优化了图形的展示策略,参见showAllSymbol:'auto'

  • [Enhance] 刷选工具中,提高了被选中项的 z 层级,参见visualMap.inRange.liftZ

  • [Enhance] 解决桑基图的节点顺序改变问题。#3390 #3543 #6365 #4880 #4986

  • [Enhance] 优化了折线图采样的性能。

  • [Enhance] 优化了平行坐标系的渐进渲染(progressive rendering)性能。

  • [Enhance] 有数据过滤(dataZoom)时,对于折线图中断线的优化。#7955

  • [Enhance] 支持 toolbox.feature 的融合模式的 setOption

  • [Fix] 修复有环图导致桑基图死循环的问题。#7495 #8117 #7583 #7325 #6555

  • [Fix] 修复了当使用数据堆叠(stack)时 yAxis 范围不改变的问题。#8003

  • [Fix] 优先从 dateItem.name 或许名称。#7966

  • [Fix] 修复了微信小程序中,Typed array 使用的问题。

  • [Fix] 修复了 axis data item 中的 option 无效。#7954

  • [Fix] 修复了 markArea 只显示最后一个。#7902

  • [Fix] 修复了微信小程序的环境检测不精确。

  • [Fix] 折线图剪切(clip)图形时,修复了精度问题。#7913

  • [Fix] 修复了K线图默认的提示(tooltip)只显示一条. #8149

  • [Fix] 当多个坐标轴存在时,修复了柱状图起始位置问题。#7412

  • [Fix] 修复了当使用 stringmarkArea 不显示问题。#7849

  • [Fix] 修复了 dataZoom 系列为空的时候抛出异常的问题。#7666

  • [Fix] 桑基图提升兼容性。#2867

  • [Fix] 修复了树图第二次渲染的抛出异常。#8038 #8040 #7720 #7363 #7315

  • [Fix] 修复了当 chart.setOption 调用时,旭日图(sunburst)上卷节点不消除的问题。#8132

  • [Fix] SVG axisPointer 文本位置问题。#7947

  • [Fix] 修复了线图(lines chart)大规模模式中的渲染问题。

  • [Fix] 修复了日历坐标系中,最后一日不显示的问题。#8045

  • [Fix] 修复了当数据有 NaN 时,折线图中数据采样导致错误的轴范围的问题。

  • [Fix] 修复了设置了 series.encode 时,折线图采样中不正确的问题。#8017

  • [Fix] 修复了同名的多个系列设置 legendHoverLink: false 时效果不对的问题。#8010

  • [Fix] 修复了关系图(graph)的部分高亮样式(hover style)不正确的问题。

  • [Fix] 修复了堆叠数据时(stack)轴的范围计算不正确的问题。

v4.0.4

2018-02-28

[Recovery Build]

  • [^] 修正柱状图布局的问题。参见 #7831

v4.0.3

2018-02-26

v4.0.2

2018-01-18

v4.0.1

2018-01-17

v4.0.0

2018-01-16
  • [+] 支持最高达千万级数据量渲染。ECharts4 变更为流式结构,并且配合各种细致的优化,对于大数据量的渲染场景,支持了增量加载数据和渐进渲染。

    • 几千万的地理坐标数据就算使用二进制存储也要占上百 MB 的空间,增量加载数据可以支持用户对数据分块后加载,或者使用 WebSocket,从而能很快的渲染出结果并且不会阻塞浏览器。增量加载的例子可以参考使用了 ECharts GL 的 scatterGL-gpslinesGL-ny,以及单使用 ECharts 基础库的 lines-ny
    • 对于大数据量下的用户交互,能做到浏览器中的布局重绘等计算不会阻塞连续交互操作(常见如持续的平移缩放等)。其中,ECharts GL 下因 GPU 计算和省去了重布局等操作,会有效果很平滑的效果的交互体验,参见上面的例子。而 ECharts 基础库也使用了渐进渲染来支持交互的无阻塞,参见 lines-airlinescatter-large 的缩放平移。
  • [+] ZRender SVG 渲染引擎发布,从而支持 Canvas / SVG 双引擎渲染,可进按照场景所需进行切换。例如,SVG 可适用于移动端、单页多图表等场景,Canvas 适用于大数据量、视觉特效需求等场景。Canvas 渲染引擎仍为默认引擎。参见 zrender

  • [+] 发布旭日图(sunburst),高效表达带有层次结构的数据占比情况,并有良好的交互体验。参见旭日图例子文档

  • [+] 新增 dataset 组件,从而能够数据与样式分离,便于单独管理数据,支持数据映射到视觉配置,可以多个系列共享数据,也省去数据分割处理的步骤。

  • [+] 支持无障碍富互联网应用规范集(WAI-ARIA,the Accessible Rich Internet Applications Suite),致力于使得网⻚内容和网⻚应,用能够被更多残障人士访问。

  • [+] ECharts4 开始,labelitemStyle 等配置被扁平化了,去掉了原先的 normal 层级,使得 option 更为清爽。ECharts3 的配置方式也仍然被兼容

  • [+] 新增了两套内置的颜色主题,名为 'light', 'dark',可通过 echarts.init(dom, themeName); 来使用它们。

  • [+] 支持 legend.data 不指定时,自动根据系列生成。

  • [+] 支持类目轴(axis.type: 'category')中 axis.data 不指定时,自动根据数据生成。

[Break Changes]:

总体而言,ECharts4 兼容之前的各种 option 和 API,除了以下这些细节:

  • 当第二次(或第三、四、... 次)调用 chart.setOption(option); 时(merge 模式),如果 option.series 中没有设置 type 属性,并且此 option 会 merge 到 type 为 graphgauge 或者 treemap 的系列时,ECharts 2/3 的已被废弃的配置方式(如 itemStyle.normal 等)不会被兼容。当然,这种场景并不常见。

v3.8.4

2017-11-13
  • [^] 修复了 index*.js 中的 registerMap 问题。
  • [^] 修复了注入导致的个别 CommonJS 模块错误。

v3.8.2

2017-11-10
  • [^] 修复了 3.8.0 中向后兼容的几个问题:
    • 3.8.0lib 目录中和 src 是一样的内容(ES Module)。而老版本的 node 和 webpack 不能支持。所以 3.8.2lib 仍然恢复为 commonJS 格式。
    • 3.8.0src 中的源代码含有 __DEV__ 全局变量(这个标志里的代码段,用于为 echarts 的使用者打印开发帮助信息),全局变量的声明需要手动引入 echarts/src/config.js 或者在 webpack/rollup 中做相应配置(参见 自定义构建)。但是这并不向后兼容。所以在 3.8.2 中的 echarts/lib/** 中的代码,去掉了 __DEV__ 变量。如果需要有开发者帮助的版本,请引用 echarts/src/**
    • 3.8 以后,echarts/src/echarts.js(即 echarts/lib/echarts.js)中并不会包括之前挂载于其上的工具方法,对外开放的工具方法汇总在 echarts/src/export 并挂载在 echarts/echarts*.js。但是这并不向后兼容。所以 3.8.2 改回为 echarts/lib/echarts.js 会像原来一样挂载这些方法。
    • echarts/extension/dataTool 的引用和挂载方式,改为为 3.8 之前的方式:必须手动引用,引用则会挂载到 echarts 名空间上。
  • [^] 修复了 SVG 渲染器的空值抛错问题。

v3.8.0

2017-11-07
  • [+] 新增 树图。其中支持 横向布局纵向布局径向布局

  • [+] 新增 SVG 渲染支持(beta 版)。从而可以根据自己的需要,选择 SVG 或者 Canvas 作为渲染引擎。

  • [+] 源代码的模块系统改用 ES Module。从而可以受益于 tree shaking,减小构建所得 bundle 的体积。

  • [+] 提供了构建脚本,方便于灵活引用模块和多语言构建,参见 自定义构建。并且加入了 xvaara 提供的芬兰语(PR #6863)。

  • [+] 支持了 axis arrow. 参见 #6675

  • [+] treemap 中支持了 strokeWidthstrokeColor。参见 #6804

  • [+] graph 图中支持了鼠标悬浮到边上时也 显示相邻点 的功能。参见 #6772

  • [^] 修复了 grid.containLabeltrue轴标签旋转 时的坐标系范围判断。感谢 xvaara 提供的 PR #6951

  • [^] 修复设置了 类目轴 中设置了 axisLabel.rotate 以后,interval 计算有误的 bug。参见 #4170。感谢 lanyuechen 提供的 PR #6903

  • [^] 修复了 dataTool.prepareBoxplotData 的负值问题。感谢 d-rudolf 提供的 PR #6749

  • [^] 优化了 时间类型坐标轴 的刻度显示。感谢 xiaoshan00 提供的 PR #6808

  • [^] 支持了 radiusAxis.inverse。参见 #6805#4253

  • [^] 修复了和 webpack 中约定特殊变量重名的问题。参见 #6788

  • [^] 修复了 可滚动图例 定位不准确问题。参见 #6756

  • [^] 修复了 themeRiver 图例颜色不正确的问题。参见 #6932

  • [^] 修复了刷选时如果存在空值则报错的问题。参见 #6892

  • dist/echarts/echarts.simple.js 中不再包含 echarts 上所挂载的工具方法。如果需要使用工具方法,可使用 dist/echarts/echarts.common.js 或者 dist/echarts/echarts.js,或者 自定义构建

  • 对于 dataTool 的变化:使用 dist/echarts/echarts.simple.jsdist/echarts/echarts.common.js,和之前相同,须自行引入 dist/echarts/extension/dataTool.js,但是不会挂载成 echarts.dataTool。使用 dist/echarts/echarts.js 时,默认包含 echarts.dataTool

详细的介绍见 ECharts 3.8.0 介绍

v3.7.2

2017-09-27

v3.7.1

2017-08-31

[Recovery Build]

v3.7.0

2017-08-16
  • [+] 支持了 富文本标签。富文本标签能够对文本块、文本的部分片段进行样式设置,以及支持在文本中使用图片,并且支持了更多的对齐、旋转能力,从而可以形成丰富的效果。

  • [+] 支持了 可翻页的图例,提供一种方案解决图例过多页面放不下或者难于自适应的问题。参见 垂直图例水平图例

  • [+] textStyle 配置项扁平化。在 echarts 中有众多的 textStyle 设置,例如 series-bar.label.normal.textStylexAxis.axisLabel.textStyle 等等。这些 textStyle 有些层级过深和语法冗余,导致不方便,所以进行了扁平化,去掉了他们的 textStyle 这个层级。也就是从前是这种写法:label.normal.textStyle.fontSizeaxisLabel.textStyle.fontSizev3.7 之后,推荐这种写法 label.normal.fontSizeaxisLabel.fontSize。当然,之前的写法仍然被兼容。有这些地方进行了扁平化:

    • axisPointer.textStyle
    • xAxis.axisLabel.textStyle
    • yAxis.axisLabel.textStyle
    • radar.axisLabel.textStyle
    • singleAxis.axisLabel.textStyle
    • radiusAxis.axisLabel.textStyle
    • angleAxis.axisLabel.textStyle
    • parallel.parallelAxisDefault.axisLabel.textStyle
    • parallelAxis.axisLabel.textStyle
    • series.label[normal|emphasis].textStyle
    • series.data.label[normal|emphasis].textStyle
    • series-gauge.axisLabel.textStyle
    • series-gauge.title.textStyle
    • series-gauge.detail.textStyle
    • series-treemap.upperLabel[normal|emphasis].textStyle
    • series-graph.edgeLabel[normal|emphasis].textStyle
    • calendar.dayLabel.textStyle
    • calendar.monthLabel.textStyle
    • calendar.yearLabel.textStyle
    • markPoint.label[normal|emphasis].textStyle
    • markPoint.data.label[normal|emphasis].textStyle
    • markLine.label[normal|emphasis].textStyle
    • markLine.data.label[normal|emphasis].textStyle
    • markArea.label[normal|emphasis].textStyle
    • markArea.data.label[normal|emphasis].textStyle
    • tooltip.axisPointer.crossStyle.textStyle
    • axisPointer.label.textStyle
    • timeline.label.textStyle
    • radar.name.textStyle
  • [+] 对于时间坐标轴(即 axis.type'time')支持了 minInterval。对于时间坐标轴和数值坐标轴(即 axis.type'value')支持了 maxInterval,从而能控制缩放(如 dataZoom)时刻度的最大最小范围。

  • [+] 支持了 xAxis.axisLine.onZeroAxisIndex,从而能在多轴并且需要轴 onZero 的场景下,灵活设置轴互相的对应关系。参见 #5069

  • [+] 支持了 自定义系列(custom series) 不使用 坐标系

  • [+] 支持了柱状图标签的旋转。参见 rotatealignverticalAlign。参见 例子。参见 #5309

  • [+] 支持了 radar.indicator.color,从而雷达每个标签能设置不同颜色。参见 #6128

  • [+] 支持了 dataZoom.rangeMode,从而能在数据更新时固定缩放区域。参见 #6128

  • [+] 支持了 action.legend.legendToggleSelect, action.legend.legendSelect, action.legend.legendUnSelect 中使用 dataIndex。参见 #4242

  • [+] 支持了 map.label.formatter,从而方便于在地图系列中使用富文本标签。参见:地图标签

  • [+] 支持了 title.borderRadiuslegend.borderRadius,从而他们能绘制圆角的背景或边框。

  • [^] 修复了在 IE 某些版本中饼图和折线图中设置了阴影效果后偶见的异常。参见 #5777

  • [^] 修复了地图中如果 nameMap 被设置且某些区域没有数据时,tooltip 中得不到区域名的问题。参见 #5633

  • [^] 修复了百度地图扩展中,地图平移后 tooltip 位置错误的问题。参见 #6211

  • [^] 修复了 axisPointer 偶发的报错。参见 #6121

  • [^] 修复了热力图高度为 0 时的报错。参见 #6214

  • [+] 修复了 candlestick 第一个数据项为空时的异常。参见 #6059

  • [^] 修复了 series-bar.dimensions 无效的问题。参见 #6252

  • [^] 修复了 自定义系列(custom series)group 中子元素数目不确定时不能正确删除的问题。

  • [^] 修复了 在 setOption 执行之前调用 connect 时会抛出的异常。参见 #6281

  • [^] 修复了 tooltip.confine 时的边界判断。参见 #62770da06d8

  • [^] 修复了柱状图重叠(同时设置了 barWidthbarGap: '-100%')时在窄窗中的不正常。参见 #6312

  • [^] 修复了精度问题。参见 #6371

v3.6.2

2017-06-15

v3.6.1

2017-05-26

[Recovery Build]

  • [^] 修正了 data sampling 的失效。
  • [^] 修正了 使用 webpack 编译时在 ie11 中的问题。参见 zrender/#189

v3.6.0

2017-05-25
  • [+] 发布自定义系列 custom series 自定义系列能让用户定制渲染逻辑,从而在已有坐标系中绘制自定义的图表。参见 示例

  • [+] 支持极坐标柱状图 参见 示例1示例2示例3

  • [+] 支持了 encode 设定,可以指定 data 中哪些维度映射到坐标系中哪个轴,或者哪些维度在 tooltip 以及 label 中显示。[Break Change]: cartesian2d 中的第三个维度的默认名称从 'z' 改为了 'value',如果在 visualMap.dimension 中使用了 'z' 这个名称,请改为 'value' 或者 2

  • [+] 支持了 dimensions 设定,能指定 data 中每个维度的名称和类型。名称可以显示在默认 tooltip 中。

  • [+] dataZoom 支持了 minSpanmaxSpan。参见 #2843

  • [+] dataZoom 支持了 moveOnMouseMovezoomOnMouseWheel,从而能够设定按住 'ctrl' 键或者 'alt' 键或者 'shift' 键同时滚动滚轮触发 dataZoom。此外,支持了 preventDefaultMouseMove 设置,参见 #5769

  • [+] dataZoomhandleIcon 支持使用 image。

  • [^] 修正了世界地图的边界问题。

  • [^] 修正了当 min 被设置时,minInterval 不能正常工作的问题。参见 #4838

  • [^] 修正了 Object 默认属性导致的问题。参见 #5576

  • [^] 修正了 legend 选择变化时进行 setOptiongraphic 导致的错误。参见 #5783

  • [^] 修正了 parallelaxisLabel.interval 的支持。参见 #5694

  • [^] 增强了 dataZoom 控件的交互。

  • [^] 修正了 minAngle 在玫瑰图上的问题。参见 #5617

  • [^] 修正了 tooltip 更新时报错的问题。

v3.5.4

2017-04-27
  • [^] 修复了对 水球图 clipPath 的支持问题。
  • [^] 修复了 label 设置为 insideTop 时的位置。
  • [^] 修复了 SVG PathData transform 时的问题。

v3.5.3

2017-04-14
  • [^] 修复了 optionleft right width top bottom height 的默认选取问题。参见 #5440

  • [^] 修复了 showTip 使用像素点位置传入时的问题。参见 #5449

  • [^] 优化了只有一个数据时 boundaryGap 的效果。参见 #4417

  • [^] 修复了 gauge 的动画效果设置。参见 #5451

  • [^] 修复了 treemap 数据值相同时,排序不稳定的问题。

  • [^] 修正了组件重叠时 roam 以及 brush 之间的冲突。

  • [^] 扩大了 parallel axis name 倾斜时的文字可显示区域,能显示更长的维度标题。

  • [^] 使 toolbox 清除选区按钮 能够清除parallelAxis 的选区。

  • [^] 优化了 zrender 图形性能,最高提升 50%。

v3.5.2

2017-04-05
  • [+] 增加了 useUTC 配置项,支持按照 UTC 或本地时间显示 axisLabeltooltip。并且修改了时间解析和显示的默认设定:默认在 axisLabeltooltip 中显示本地时间,data 中使用没指定时区的时间字符串时默认解析为本地时间。参见 series.data 中时间类型部分。修复了 axis.type'time' 时默认按照 UTC 取刻度的问题。修复了 #5396#5393

  • [+] 增加了 axisLabel.showMinLabelaxisLabel.showMaxLabel

  • [+] 支持 funnel.sort 按照 index 排序或自定义排序。

  • [^] 修复了 axisTick 浮点数精度错误的问题。参见 #5041

  • [^] 修复了 axisTick 数值过小时不显示的问题。参见 #5386

  • [^] 修复了 tooltip.trigger'axis' 时使用 dispatchAction 触发 showTip 无效的问题。参见 #5423

  • [^] 修复了 visualMap 使 mapitemStyle 失效的问题。参见 #5388

  • [^] 修复了 tooltip.trigger 不支持 'none' 的问题。参见 #5400

  • [^] 修复了 sankey 在 ie11 上的问题。参见 #3306

  • [^] 修复了 paralleldata.lineStyle.color 无效的问题。参见 #5363

v3.5.1

2017-03-23

Recovery Build

v3.5.0

2017-03-23

v3.4.0

2017-01-12