写点什么

Arction 图表控件 LightningChart JS 从 2.2.1 版到 3.0.0 版迁移指南

用户头像
Geek_bacee5
关注
发布于: 2021 年 05 月 12 日
Arction图表控件LightningChart JS从2.2.1版到3.0.0版迁移指南

LightningChart.NET完全由 GPU 加速,并且性能经过优化,可用于实时显示海量数据-超过 10 亿个数据点。LightningChart 包括广泛的 2D,高级 3D,Polar,Smith,3D 饼/甜甜圈,地理地图和 GIS 图表以及适用于科学,工程,医学,航空,贸易,能源和其他领域的体绘制功能。

 

ChartXY.addAxisX/Y

addAxis 方法的参数已经改变。如果你以前没有提供参数,那么使用方法没有改变。

在 3.0 之前,有一个单一的 addTop 布尔参数。迁移到 3.0 后,要像下面这样迁移它。3.0 之前的用法:

Chart.addAxisX(true)

3.0 之后的用法:

Chart.addAxisX({ opposite: true })

规模变化

UI 元素的自定义比例变化涉及到以下方法。- Chart.addUIElement- Chart.addLegendBox- Dashboard.addUIElement- Dashboard.addLegendBox 变化只适用于第二个参数,刻度。这个参数过去和现在都是可选的--如果你如果你没有使用它,或者提供了未定义的参数,就没有必要进行修改。

在轴值上定位 UI 元素

以前版本的语法:

chart.addUIElement(UIElementBuilders.TextBox, { x: xAxis.scale, y: yAxis.scale })

LCJS v3.0 的语法:

chart.addUIElement(UIElementBuilders.TextBox, { x: xAxis, y: yAxis })

将 UI 元素定位在不同的 X 和 Y 刻度上

以前版本的语法

chart.addUIElement(UIElementBuilders.TextBox, { x: chart.uiScale.x, y: chart.pixelScale.y })

LCJS v3.0 的语法

chart.addUIElement(UIElementBuilders.TextBox, { x: chart.uiScale, y: chart.pixelScale })

删除了 Axis 属性

属性迁移说明 getTickStyle() 默认的轴刻度样式可以通过以下方式查询 Themes.dark.numericTickStrategyplottingScale 用轴本身代替,见 "在轴值上定位 UI 元素在轴值上的位置"heightScale 使用轴本身,见 "在轴的数值上定位 UI 元素"。元素在轴值上的定位"

Axis.scaleAxis.scale 属性已被删除。属性迁移说明 Axis.scale.getInnerStart() Axis.getInterval().startAxis.scale.getInnerEnd() Axis.getInterval().endAxis.scale.getInnerInterval() Math.abs(Axis.getInterval().end-)Axis.getInterval().start)Axis.scale.getPixelSize()没有直接替换。如果你从 Arction 的例子中复制了这个用法如果你从 Arction 的例子中复制了用法,请参考该例子以了解最新用法。最新的用法。

Axis.scale.getCellSize()

没有直接替换。如果你从 Arction 的例子中复制了这个用法从 Arction 的例子中复制了

将轴坐标翻译成其他坐标系,以及其他方式的翻译 translatePoint 现在接受 Axis 对象,而不是以前使用 Axis.scale 的方式。将轴坐标转换为像素的用法示例。

const pixelLocation = translatePoint(

 // axis coordinate.

 { x: 116.9, y: 26.4 },

 {

 x: chart.getDefaultAxisX(),

 y: chart.getDefaultAxisY(),

 },

 chart.pixelScale

 )

删除了 Scale API

涉及到以下属性- Chart.uiScale- Chart.pixelScale- Chart.engine.scale- 仪表盘.uiScale- 仪表盘.引擎.比例- Series.scale

所有这些属性的 API 已经被移除。属性迁移说明 uiScale getInnerStart()等于 0,getInnerEnd()等于 100。Series.scale 使用 Axis.getInterval()代替。getCellSize() 没有直接替换。如果你从 Arction 的例子中复制了这个用法,如果你从 Arction 的例子中复制了用法,请参考该例子以了解最新用法。getPixelSize() 没有直接替换。如果你从 Arction 的例子中复制了这个用法如果你从 Arction 的例子中复制了用法.

数据模式(DataPattern)

DataPattern API 的语法已经改变。现在它使用了更灵活的对象参数。新的选项 regularProgressiveStep 已被添加到更多特定应用的优化中。LCJS v2.2.1:

const lineSeries = ChartXY.addLineSeries({

 dataPattern: DataPatterns.horizontalProgressive

})

LCJS v3.0.0:

const lineSeries = ChartXY.addLineSeries({

 dataPattern: {

 // pattern: 'ProgressiveX' => 每个连续的数据点有

增加的 X 坐标。

 pattern: 'ProgressiveX',

 // regularProgressiveStep: false => 每个连续的数据点之间的 X 步长是不规则的。

连续的数据点之间的 X 步长是不规则的。

 regularProgressiveStep: false,

 }

})

在以前的版本中,dataPattern 还选择了解决离鼠标最近的数据点的基础的光标功能。这个功能已经被转移到一个专门的 API,游标求解基础。可以为 LineSeries, PointLineSeries, SplineSeries 和 StepSeries 设置。

const lineSeries = ChartXY.addLineSeries()

 .setCursorSolveBasis('nearest-x')

支持的值是'nearest-x'、'nearest-y'和'nearest'。

图例框的变化

图例框标题

以前的行为。LegendBox 的标题被自动设置为与图表的标题一致新的行为。默认情况下,LegendBox 的标题是空的。用 LegendBox.setTitle( 'My title')来设置。

LegendBox.add 参数变化点击时处置以前的语法。LegendBox.add( component, false )3.0 的语法。LegendBox.add( component, { disposeOnClick: false } )标签以前的语法。LegendBox.add( component, undefined, 'Group tag' )3.0: 没有直接替换。要给 LegendBox 添加标题,请使用 LegendBox.setTitle('Group tag')建设者以前的语法。LegendBox.add( component, undefined, undefined, entryBuilder )3.0 的语法。LegendBox.add( component, { builder: entryBuilder } )对 LegendBoxEntries 样式的修改以前的语法

const entries = LegendBox.add( chart)

entries.forEach(entry => entry.setTextFillStyle( ...))

3.0 的语法。

LegendBox.add( chart).setEntries( entry => entry.setTextFillStyle( ... )

)

UILegendBoxPanel

add()系列或其他可附件不再能直接添加到 legendBox 面板。只有整个图表。或包含一个或多个图表的仪表板可以被添加。

标题 legendBox 面板不再有一个内置的标题组件。一个自定义的标题可以用 UILegendBoxPanel.addUIElement 每个附加的图表都有自己内部创建的 LegendBox,每个 LegendBox 也有一个可配置的标题移除的方法- UILegendBoxPanel.setTitle- UILegendBoxPanel.getTitle- UILegendBoxPanel.setTitleFillStyle- UILegendBoxPanel.getTitleFillStyle- UILegendBoxPanel.setTitleFont- UILegendBoxPanel.getTitleFont

SetEntries()

图例框条目现在被分组到独立的图例框中,按图表分组。要访问要访问图例框面板内的图例框条目,请使用 UILegendBoxPanel.setLegendBoxes。

自定义刻度变化

CustomTick.setTopPadding 已改名为 setTickLabelPaddingPointableTextBox 重命名为 UIPointableTextBoxCustomTick.setPaddingBottom 和 CustomTick.setSidePaddings 已被删除。它们可以通过 CustomTick Marker background(如果刻度线有背景)来访问。

CustomTick.setMarker((tickMarker: UIPointableTextBox) => tickMarker

 .setBackground((background) => background

 .setPadding({

 // 填充底部

bottom:10,

 // 侧面的填充物

 left: 20,

 right: 20

 })

 )

)

一般性修改

- 删除了 PointSeriesOptions3D.pointShape。使用 PointSeries3D.setPointStyle 代替。- 删除了 PointLineSeriesOptions3D.pointShape。使用 PointLineSeries3D.setPointStyle 来代替。- 删除了 Theme.numericTickStrategy3D。请使用 Theme.numericTickStrategy 代替。- 删除了 Theme.dateTickStrategy3D。使用 Theme.dateTimeTickStrategy 代替。- ResultTable.setFont 重命名为 setTextFont。- UITextBox.setFont 重命名为 setTextFont。- UICheckBox.setFont 重命名为 setTextFont。- LegendBoxEntry.setFont 重命名为 setTextFont- setChartBackgroundFillStyle 方法改名为 setSeriesBackgroundFillStyle- getChartBackgroundFillStyle 方法重命名为 getSeriesBackgroundFillStyle- setChartBackgroundStrokeStyle 方法改名为 setSeriesBackgroundStrokeStyle- getChartBackgroundStrokeStyle 方法重命名为 getSeriesBackgroundStrokeStyle。- on/offChartBackground...事件方法重命名为 on/offSeriesBackground...- setResultTableFormatter 重命名为 setCursorResultTableFormatter- getResultTableFormatter 重命名为 getCursorResultTableFormatter。- Theme.chartBackgroundFillStyle 重命名为 Theme.seriesBackgroundFillStyle。- Theme.chartBackgroundStrokeStyle 重命名为 Theme.seriesBackgroundStrokeStyle

关于 LightningChart

LightningChart是一家坐落于北欧芬兰的控件开发商Arction Ltd 的产品,是微软公司认证的合作伙伴。高性能图标控件 LightningChart 高效渲染效率很受.NET 开发者青睐。Arction 在重塑图表控件领域中做出极大成绩: 2009 年,Arction 成为业界第一家 WinForms图表控件领域中引入 DirectX 2D 渲染的制造商; 2013 年,以第一家针对 WPF 制图行业中使用 DirectX 引入真正硬件加速的制造商而闻名;近年来,Arction专注于开发最高性能和最先进的数据可视化工具,设定行业最高标准。

用户头像

Geek_bacee5

关注

还未添加个人签名 2021.04.15 加入

还未添加个人简介

评论

发布
暂无评论
Arction图表控件LightningChart JS从2.2.1版到3.0.0版迁移指南