本帖最后由 .net_wang 于 2021-6-8 10:54 编辑
通过NaN值或其他值实现DataBreaking
演示示例: Data breaking in series
图:在系列中支持DataBreaking 的几个选项
以下系列类型支持数据中断:
• PointLineSeries
• FreeformPointLineSeries
• SampleDataSeries
• AreaSeries
• HighLowSeries
• PointLineSeries3D
LightningChart 跳过与指定的断开值匹配的数据点的渲染,但可正常渲染其他值。
图:DataBreaking 用于 PointLineSeries、SampleDataSeries、AreaSeries 和 HighLowSeries.
注意! 当设置DataBreaking.Enabled = True, 会引发明显的额外消耗,不建议用于需要非常高的实时数据速率的解决方案。可考虑使用ClipAreas,请参考LightningChart数据可视化工具使用篇36-ClipAreas(剪辑区域)
例如,使用NaN 中断PointLineSeries 数据:
图:使用NaN值中断 PointLineSeries.
代码:
[C#] 纯文本查看 复制代码 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);
}
[C#] 纯文本查看 复制代码 //在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;
[C#] 纯文本查看 复制代码
//设置DataBreaking Enabled来添加新系列
PointLineSeries pls = new PointLineSeries(_chart.ViewXY, _chart.ViewXY.XAxes[0], _chart.ViewXY.YAxes[0]);
pls.DataBreaking.Enabled = true;
[C#] 纯文本查看 复制代码
//设置定义值的数据间隙(默认值= 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];
}
[C#] 纯文本查看 复制代码 //为点线系列分配数据
pls.Points = points;
[C#] 纯文本查看 复制代码 //将创建的点线系列添加到PointLineSeries列表中
_chart.ViewXY.PointLineSeries.Add(pls);
关于通过NaN值或其他值实现DataBreaking章节就分享到这里了,如果在实际应用中遇到问题需要帮助,可以扫描下方微信二维码与我联系,咱们共同研究相互学习。
后续我会不断更新LightingChart更详细的使用方法,写文不易,还望多多回复关注支持!谢谢! 最新版V10 LightningChart下载地址:猛击下载
|