ITPub博客

首页 > 应用开发 > Javascript > 高性能图表LightningChart JS 迁移指南介绍

高性能图表LightningChart JS 迁移指南介绍

原创 Javascript 作者:roffey 时间:2021-03-02 16:21:21 0 删除 编辑

LightningChartJS 是Web上性能最高的图表库具有出色的执行性能 - 使用高数据速率同时监控数十个数据源。 GPU加速和WebGL渲染确保您的设备的图形处理器得到有效利用,从而实现高刷新率和流畅的动画。非常适合用于贸易,工程,航空航天,医药和其他领域的应用。

LightningChartJS 迁移指南
从1.3.1及以前的版本到2.0.0及以后的版本

线路集的改进

虽然这不是一个破坏兼容性的变化,但我们觉得这值得在这里强调。

我们改进了库中粗线条的绘制,减少了约75%的内存使用,同时改善了线条的视觉效果。

轴的变化

在这个版本中,我们重构了我们的坐标轴tick策略的工作方式,以允许更复杂的坐标轴和更好的视觉风格。因此,tick策略的使用方式也有所改变。

- 增加了Axis.setTickStrategy( TickStrategy, (optional)tickStrategyMutator )。

  • 这用于设置 Axis 的 Tick Strategies,以及 Tick Strategies 的样式元素。
  • 突变器是可选的,仅在样式化或修改TickStrategy元素时使用。

- DateTime TickStrategy原点现在可以通过setter方法设置。

  • 使用一个突变器来改变DateTime Tick策略的DateOrigin。
  • Axis.setTickStrategy( AxisTickStrategies.DateTime, ( tickStrategy ) => {tickStrategy.setDateOrigin( dateOrigin ) })

目前,ticks已被分为三类不同的类型。

- 主要ticks

o 这些总是显示出来。
o 它们代表了所示比例尺中的主要阈值。

- 小 ticks

o 默认显示,可隐藏
o 适应于主要ticks之间
o 如果标签可以容纳而不与其他标签重叠,则显示标签。
* 否则只显示部分或不显示。
勾线和网格线的显示不受影响

- 大 ticks

o 与DateTime Tick策略一起使用。
o 显示的是大的阈值(如日期中的年数)。
o 可以隐藏

- 极端 ticks

o 默认情况下是隐藏的,可以启用。
o 显示在轴线的两端。
o 有助于始终显示一个轴的当前极端值。

不同的tick可以通过使用Axis.setTickStrategy()方法,通过使用可选的tickStrategyMutator来设置风格。

  • - Axis.setTickStrategy( TickStrategy, ( mutator ) => { mutator.setMajorTickStyle( (tickStyle) => {tickStyle.setGridStrokeStyle( ... ) }。) } )

AxisTickStrategies.NumericWithUnits(数字单位)

NumericWithUnits TickStrategy已被删除。通过使用Numeric TickStrategy及其setFormattingFunction()方法可以实现同样的功能。

从图表/轴的创建中删除了默认的轴刻度线策略。

老行为

- 在创建图表时
LightningChart.ChartXY( { defaultAxisXTickStrategy.DateTime() }。AxisTickStrategies.DateTime() }。)

- 在创建Axis时。

ChartXY.addAxisX( undefined, AxisTickStrategies.DateTime())

新行为

- 在创建图表时
LightningChart.ChartXY().setTickStrategy( AxisTickStrategies.DateTime )
- 在创建Axis时。
ChartXY.addAxisX().setTickStrategy( AxisTickStrategies.DateTime )

WebGL扩展要求

LightningChart JS现在需要以下WebGL扩展才能正常工作。
- ANGLE_instanced_arrays
- EXT_blend_minmax
- OES_element_index_uint.
- OES_标准衍生产品
- OES_vertex_array_object(顶点阵列对象)
- WEBGL_lose_context

这些扩展在所有现代的桌面和移动浏览器中都已实现。如果这些扩展中的任何一个缺失,那么将显示一个可忽略的警告,以通知用户可能不正确的工作功能。
你已经知道我们这样做的原因了--PointSet的性能得到了显著提升。

仪表板选项

简化了Dashboard的创建。图表选项不再作为一个单独的选项对象分开。`columnSpan`和`rowSpan`现在是可选的选项,如果没有定义值,则默认为1。

  • 以前,Dashboard.createChartXY( { columnIndex: 0, rowIndex: 0, columnSpan: 1, rowSpan: 1, chartXYOptions: { theme.Themes.dark, ..: Themes.dark, ... } } )
  • 现在,Dashboard.createChartXY( { columnIndex: 0, rowIndex.0, columnSpan: 1, rowSpan: 1,theme: theme: 0, columnSpan: 1, rowSpan: 1,theme: Themes.dark, ... } )

o ColumnSpan和RowSpan现在是可选的,如果没有给定值,将默认为1。

requestAnimationFrame和cancelAnimationFrame的Polyfills

1.3.1版本及之前,我们已经为这些功能添加了自己的polyfills。从2.0.0版本开始,开发者需要为这些功能添加自己的polyfills。可以使用一个库,如 requestAnimationFrame polyfill 库来实现这个功能。这是为了遵循库中多边填充的最佳实践而改变的。

ColorHEX的变化

我们改变了ColorHEX方法中的值的顺序(以前是#ARGB, #AARRGGBB),以对应CSS形式的#RGBA / #RRGGBBAA。

删除过时的API

- 移除SolidGauge.setDataLabelFormater -> 使用SolidGauge.setDataLabelFormatter
- 移除SolidGauge.getDataLabelFormater -> 使用SolidGauge.getDataLabelFormatter
- setChartBackgroundStroke移除 -> 使用setChartBackgroundStrokeStyle
- getChartBackgroundStroke移除 -> 使用getChartBackgroundStrokeStyle
- setMaxPointsCount删除 -> 使用setMaxPointCount
- containerId引擎选项被删除 -> 使用容器引擎选项代替。这允许通过
或者像之前一样,将containerId作为一个字符串,或者只是传递container(div)本身。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69995027/viewspace-2760652/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2021-02-20

  • 博文量
    46
  • 访问量
    17458