本文已参加「新人创造礼」活动,一起敞开创造之路。

经过NaN值或其他值完成DataBreaking

演示示例: Data breaking in series

LightningChart数据可视化图形控件使用篇24-通过NaN值或其他值实现DataBreaking、ClipAreas
图:系列中支撑DataBreaking 的几个选项

以下系列类型支撑数据中止:

• PointLineSeries

• FreeformPointLineSeries

• SampleDataSeries

• AreaSeries

• HighLowSeries

• PointLineSeries3D

LightningChart 越过与指定的断开值匹配的数据点的烘托,但可正常烘托其他值。

LightningChart数据可视化图形控件使用篇24-通过NaN值或其他值实现DataBreaking、ClipAreas
图:DataBreaking 用于 PointLineSeries、SampleDataSeries、AreaSeries 和 HighLowSeries.

留意! 当设置DataBreaking.Enabled = True, 会引发明显的额定消耗,不建议用于需要十分高的实时数据速率的解决方案。可考虑运用ClipAreas, 参看章节下文ClipAreas。

例如,运用NaN 中止PointLineSeries 数据:

LightningChart数据可视化图形控件使用篇24-通过NaN值或其他值实现DataBreaking、ClipAreas
图:运用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下有实践的数据,鼠标操作则会相应系列。

LightningChart数据可视化图形控件使用篇24-通过NaN值或其他值实现DataBreaking、ClipAreas
图:为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下载地址:猛击下载