LightningChart数据可视化图形控件使用篇20-IntensityMeshSeries

125 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

IntensityMeshSeries

演示示例: Animated intensity mesh; Intensity mesh, static geometry; Intensity mesh, circle/polar geometry

IntensityMeshSeries 几乎与IntensityGridSeries类似。最大的不同点在于系列节点可以任意地放置于X-Y空间内。换句话说,这种系列并不呈现为矩形。线框线条可用WireframeType属性设置为可见。同时设置ShowNodes为true可显示出节点。

微信截图_20220505093317.png 图:IntensityMeshSeries,任意定位每个节点的X和Y值。 WireframeType = Wireframe ,ShowNodes = true.

微信截图_20220505093412.png 图:强度网眼节点SizeX = 4, SizeY =4.

几何形状变化时的强度网眼数据设置

当X、Y和Value字段同时更新时,需遵照以下指令说明操作。

• 设置 SizeX 和 SizeY 属性,为网眼赋予以列和行表示的尺寸。

• 为所有节点设置 X、Y 和 Value:

采用数据数组索引的方法

for (int nodeIndexX = 0; nodeIndexX < columnCount; nodeIndexX ++)
{
            for (int nodeIndexY = 0; nodeIndexY < rowCount; nodeIndexY ++)
            {
             meshSeries.Data[nodeIndexX, nodeIndexY].X = xValue;
             meshSeries.Data[nodeIndexX, nodeIndexY].Y = yValue;
             meshSeries.Data[nodeIndexX, nodeIndexY].Value = value;
            }
}

meshSeries.InvalidateData(); //通知新值已准备好并将刷新

采用SetDataValue的另一种方法

for (int nodeIndexX = 0; nodeIndexX < columnCount; nodeIndexX ++)
{
            for (int nodeIndexY = 0; nodeIndexY < rowCount; nodeIndexY ++)
            {
             meshSeries.SetDataValue(nodeIndexX, nodeIndexY,
                          xValue,
            yValue,
                          value,
                          Color.Green); //本例中没有使用源点颜色,所以这里用什么颜色都行
            }
}

meshSeries.InvalidateData(); //通知新值已准备好并将刷新

几何形状无变化时的强度网眼数据设置

当Data数组IntensityPoint结构的Value字段更新时,需按照这些指令说明操作。这是更新数据的性能优化方法,例如在热成像或环境数据监测解决方案中,每个节点的X和Y值保持在同一位置。

创建系列及其几何图形

• 设置 Optimization 为 DynamicValuesData

• 设置 SizeX 和 SizeY 属性,为网眼赋予以列和行表示的尺寸。

• 为所有节点设置 X、Y 和 Value:

    for (int nodeIndexX = 0; nodeIndexX < columnCount; nodeIndexX ++)
    {
            for (int nodeIndexY = 0; nodeIndexY < rowCount; nodeIndexY ++)
        {
        meshSeries.Data[nodeIndexX, nodeIndexY].X = xValue;
        meshSeries.Data[nodeIndexX, nodeIndexY].Y = yValue;
        meshSeries.Data[nodeIndexX, nodeIndexY].Value = value;
        }
    }
meshSeries.InvalidateData(); //根据节点重建几何形状并重新绘制

定期更新值

• 仅设置所有节点的值:

    for (int nodeIndexX = 0; nodeIndexX < columnCount; nodeIndexX ++)
    {
            for (int nodeIndexY = 0; nodeIndexY < rowCount; nodeIndexY ++)
        {
            meshSeries.Data[nodeIndexX, nodeIndexY].Value = value;
        }
    }
meshSeries.InvalidateValuesDataOnly ( ); //仅更新数据值

关于LightningChart数据可视化图形控件使用篇19-IntensityMeshSeries 章节就分享到这里了。

如果在实际应用中遇到技术问题或需要帮助,可以添加下方微信号联系官方技术支持。

微信号:lightningchart_china

如果您想进一步使用LightningChart数据可视化图形控件,请添加后回复“学习”可免费领取一套全功能版LightningChart数据可视化控件。

后续我会不断更新LightingChart更详细的使用方法,写文不易,还望多多回复关注支持!谢谢!

最新版V10 LightningChart下载地址:猛击下载