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专注于开发最高性能和最先进的数据可视化工具,设定行业最高标准。
评论