通过NaN值或其他值实现DataBreaking
演示示例: Data breaking in series
图:系列中支持DataBreaking 的几个选项
以下系列类型支持数据中断:
• PointLineSeries
• FreeformPointLineSeries
• SampleDataSeries
• AreaSeries
• HighLowSeries
• PointLineSeries3D
LightningChart 跳过与指定的断开值匹配的数据点的渲染,但可正常渲染其他值。
图:DataBreaking 用于 PointLineSeries、SampleDataSeries、AreaSeries 和 HighLowSeries.
注意! 当设置DataBreaking.Enabled = True, 会引发明显的额外消耗,不建议用于需要非常高的实时数据速率的解决方案。可考虑使用ClipAreas, 参阅章节下文ClipAreas。
例如,使用NaN 中断PointLineSeries 数据:
图:使用NaN值中断 PointLineSeries.
代码:
int pointCount = 101;double[] xValues = new double[pointCount];double[] yValues = new double[pointCount];for (int point = 0; point < pointCount; point++){xValues[point] = (double)point * interval;yValues[point] = 30.0 + 5.0 * Math.Sin((double)point / 20.0);}//在Y数组中添加一些NaN值来标记中断点yValues[40] = double.NaN;yValues[70] = double.NaN;yValues[71] = double.NaN;yValues[72] = double.NaN;yValues[73] = double.NaN;yValues[90] = double.NaN;yValues[91] = double.NaN;//设置DataBreaking Enabled来添加新系列 PointLineSeries pls = new PointLineSeries(_chart.ViewXY, _chart.ViewXY.XAxes[0], _chart.ViewXY.YAxes[0]);pls.DataBreaking.Enabled = true;//设置定义值的数据间隙(默认值= NaN)pls.DataBreaking.Value = double.NaN;SeriesPoint[] points = new SeriesPoint[pointCount];for (int point = 0; point < pointCount; point++){ points[point].X = xValues[point]; points[point].Y = yValues[point];}//为点线系列分配数据pls.Points = points;//将创建的点线系列添加到PointLineSeries列表中_chart.ViewXY.PointLineSeries.Add(pls);
ClipAreas
演示示例: Clip areas
与 DataBreaking 类似(参阅上文),ClipAreas可用于避免渲染一部分系列数据。这可以用来筛选不良数据范围,Y值范围外的数据等等。
ViewXY视图的系列具有SetClipAreas 方法可设置或更新裁剪区域。它可接受一个ClipArea结构的数组。ClipAreas数组可以频繁变更,并且性能保持良好,最多可高达数千个ClipAreas。
ClipArea 适用于其被分配给的系列。注意此为处于渲染阶段的裁剪,当鼠标置于ClipArea上方时,如果ClipArea下有实际的数据,鼠标操作则会相应系列。
图:为2个系列定义ClipAreas; 分别为PointLineSeries、AreaSeries和IntensityGridSeries. 左侧,未使用ClipAreas ;右侧,启用ClipAreas;对于黄色的PointLineSeries, 经定义了X维度的裁剪区域来掩盖低振幅数据;对于红色的AreaSeries, Y维度的ClipArea从顶部剪切太高的振幅数据;对于IntensityGridSeries, X维度和Y维度的ClipAreas用于防止系列在特定区域中渲染。
使用ClipAreas是在性能方面应考虑的首选方法,它将线分割成多个数据段,而不是使用DataBreaking特性,或者在实时监视期间生成数百个单独的系列。
关于LightningChart数据可视化图形控件使用篇24-通过NaN值或其他值实现DataBreaking、ClipAreas 章节就分享到这里了。
如果在实际应用中遇到技术问题或需要帮助,可以添加下方微信号联系官方技术支持。
微信号:lightningchart_china
如果您想进一步使用LightningChart数据可视化图形控件,请添加后回复“学习”可免费领取一套全功能版LightningChart数据可视化控件。
后续我会不断更新LightingChart更详细的使用方法,写文不易,还望多多回复关注支持!谢谢!
最新版V10 LightningChart下载地址:猛击下载
原文:https://juejin.cn/post/7094457661860610061