LightningChart教程:3D SurfaceGrid图表

本教程介绍如何使用LightningChart SurfaceGridSeries3D创建具有线框和轮廓线的简单3D?SurfaceGrid。

LightningChart Ultimate SDK最新试用版

LightningChart提供了两种不同的方式将数据表示为3D表面 – SurfaceGridSeries3D和SurfaceMeshSeries3D。
在SurfaceGridSeries3D中,节点在X和Z维度上间隔相等,其中在SurfaceMeshSeries3D中,节点可以在3D空间中自由定位。

本教程介绍如何使用LightningChart SurfaceGridSeries3D创建具有线框和轮廓线的简单3D SurfaceGrid。 
SurfaceGrid允许将数据可视化为3D表面,并可用于表示,测量和检查数据及其差异。

本教程中使用调色板着色来根据其值来表示不同颜色的数据。
建议您仔细阅读我们的热图教程:其中介绍了调色板着色,然后继续学习本教程。

在本教程中,我们预先定义了一些变量,以便于使用和清晰。
在Form或MainWindow类中定义以下变量,如下所示。

/// /// LightningChart component./// private LightningChartUltimate _chart = null;/// /// Reference to SurfaceGrid series in chart./// private SurfaceGridSeries3D _surfaceGrid = null;/// /// SurfaceGrid rows./// int _rows = 500;////// SurfaceGrid columns.///int _columns = 500;/// /// Minimum X-axis value./// private const int MinX = 0;/// /// Maximum X-axis value./// private const int MaxX = 100;/// /// Minimum Z-axis value./// private const int MinZ = 0;/// /// Maximum Z-axis value./// private const int MaxZ = 100;

1.将View3D定义为活动视图并定义Y轴范围。

// Set View3D as active view and set Y-axis range._chart.ActiveView = ActiveView.View3D;_chart.View3D.YAxisPrimary3D.SetRange(-50, 100);

2.创建一个新的SurfaceGrid实例作为SurfaceGridSeries3D。

// Create a new SurfaceGrid instance as SurfaceGridSeries3D._surfaceGrid = new SurfaceGridSeries3D(_chart.View3D, Axis3DBinding.Primary, Axis3DBinding.Primary, Axis3DBinding.Primary);

3.定义SurfaceGrid的设置。

// Set range, size and color saturation options for SurfaceGrid._surfaceGrid.RangeMinX = MinX;_surfaceGrid.RangeMaxX = MaxX;_surfaceGrid.RangeMinZ = MinZ;_surfaceGrid.RangeMaxZ = MaxZ;_surfaceGrid.SizeX = _columns;_surfaceGrid.SizeZ = _rows;// Stronger colors._surfaceGrid.ColorSaturation = 80;

4.创建ValueRangePalette并将其设置为SurfaceGrid的ContourPalette。

// Create ValueRangePalette for coloring SurfaceGrid's data.ValueRangePalette palette = CreatePalette(_surfaceGrid);_surfaceGrid.ContourPalette = palette;

5.为SurfaceGrid定义线框和轮廓线。

// Define WireFrameType and ContourLineType for SurfaceGrid._surfaceGrid.WireframeType = SurfaceWireframeType3D.WireframePalettedByY;_surfaceGrid.ContourLineType = ContourLineType3D.ColorLineByY;_surfaceGrid.ContourLineWidth = 2;

6.生成数据。

// Generate data.public void GenerateData(int columns, int rows){    // Create variable for storing data.    double data = 0;    // Disable rendering before updating chart properties to improve performance    // and to prevent unnecessary chart redrawing while changing multiple properties.    _chart.BeginUpdate();    // Set data values and add them to SurfaceGrid.    for (int i = 0; i < _columns; i++)    {        for (int j = 0; j < _rows; j++)        {            // Add values to the SurfaceGrid as SurfacePoints, points are distributed by using following function.            data = 30.0 + 8 * Math.Cos(20 + 0.0001 * (double)(i * j)) + 60.0 * Math.Cos((double)(j - i) * 0.01);            _surfaceGrid.Data[i, j].Y = data;        }    }    // Notify chart about updated data.    _surfaceGrid.InvalidateData();    // Call EndUpdate to enable rendering again.    _chart.EndUpdate();}

 以上就是如何建立3D SurfaceGrid图表的教程,感兴趣的朋友赶快下载体验吧~

LightningChart Ultimate SDK现已加入在线订购,点击订购立享优惠

有想要购买LightningChart Ultimate SDK正版授权的朋友可以咨询官方客服

image.png

标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年7月11日
下一篇 2019年7月11日

相关推荐

发表回复

登录后才能评论