旧项目ECharts 4 升级到 V5的注意事项(二)

242 阅读2分钟

在V5版本里面不再支持 IE8 浏览器。之前用 VML 渲染器 来着实现 IE8 的兼容。如果有需求,那么可以升级 VML 渲染器,或者单独维护一个第三方 VML 渲染器,从 v5.0.1 开始支持注册独立的渲染器了。

  1. ECharts 配置项调整

v5 对调了 visualMap 组件 和 itemStyle | lineStyle | areaStyle 的视觉样式优先级。

具体来说,v4 中,visualMap 组件 中生成的视觉样式(如,颜色、图形类型、图形尺寸等)的优先级,比开发者在 itemStyle | lineStyle | areaStyle 中设置的样式的优先级高,也就是说如果同时设置的话,前者会生效而后者不会生效。这带来了些麻烦:假如使用者在使用 visualMap 组件 时,又想针对某个数据项对应的图形,设置 itemStyle 样式,则做不到。v5 中于是提高了 itemStyle | lineStyle | areaStyle 的优先级,使他们能生效。

在绝大多处情况下,这个变化并不会带来什么影响。但是为保险起见,使用者在升级 v4 到 v5 时,还是可以检查下,是否有同时使用 visualMap 和 itemStyle | lineStyle | areaStyle 的情况。

  1. ECharts 的相关扩展

如果要升级到 v5 ,使用这些扩展需要升级到最新的版本实现兼容。

  1. 不再推荐使用的 API

一些 API(包括接口调用,事件监听和配置项)在 V5 中不再推荐使用。当然,仍然可以用他们,只是会在 dev 模式下,在 console 中打印一些 warning,并不会影响功能。但是从长远考虑,还是推荐升级成新的 API。

  • label

    • 属性 colortextBorderColorbackgroundColorborderColor 中,值 auto 已不推荐使用,而推荐使用 'inherit' 代替。
  • dataZoom 组件:

    • 选项 dataZoom.handleIcon 如果使用 SVGPath,需要前缀 path://
  • Parse and format:

    • echarts.format.formatTime 已经不推荐使用。使用 echarts.time.format 代替。
    • echarts.number.parseDate 已经不推荐使用。使用 echarts.time.parse 代替。
    • echarts.format.getTextRect 已经不推荐使用。
  • 图表实例上的 API:

    • chart.one(...) 已不推荐使用
  • hoverAnimation:

    • 选项 series.hoverAnimation 已不推荐使用,使用 series.emphasis.scale 代替之。
  • 折线图(line series):

    • 选项 series.clipOverflow 已不推荐使用,使用 series.clip 代替之。
  1. v5的新特性

  • 自定义系列动画

除了动态排序图,Apache ECharts 5 在自定义系列中提供了更加丰富强大的动画效果,支持标签数值文本的插值动画,图形的形变(morph)、分裂(separate)、合并(combine)等效果的过渡动画。

  • 时间

时间轴不再如之前般绝对平均分割,而是选取年、月、日、整点这类更有意义的点来展示,并且能同时显示不同层级的刻度。标签的 formatter 支持了时间模版(例如 {yyyy}-{MM}-{dd}),并且可以为不同时间粒度的标签指定不同的 formatter,结合已有的富文本标签,可以定制出醒目而多样的时间效果。