本教程说明如何使用LightningChart SurfaceGridSeries3D使用线框和轮廓线创建简单的3D SurfaceGrid。
SurfaceGrid允许将数据可视化为3D表面,并可用于表示,测量和检查数据及其变化。
LightningChart.NET完全由GPU加速,并且性能经过优化,可用于实时显示海量数据-超过10亿个数据点。 LightningChart包括广泛的2D,高级3D,Polar,Smith,3D饼/甜甜圈,地理地图和GIS图表以及适用于科学,工程,医学,航空,贸易,能源和其他领域的体绘制功能。
LightningChart.NET现已加入在线订购,SignalTools , 12 months, WPF版本原价4105元,现价只需3499元,现在抢购立享优惠!立即购买>>
LightningChart.NET最新试用版
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(); }
想要购买FusionCharts Suite XT正版授权,或了解更多产品信息请点击【咨询在线客服】
标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!