翻譯|使用教程|編輯:楊鵬連|2020-08-25 10:15:17.043|閱讀 225 次
概述:本教程說明如何使用LightningChart SurfaceGridSeries3D使用線框和輪廓線創(chuàng)建簡(jiǎn)單的3D SurfaceGrid。 SurfaceGrid允許將數(shù)據(jù)可視化為3D表面,并可用于表示,測(cè)量和檢查數(shù)據(jù)及其變化。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
LightningChart.NET完全由GPU加速,并且性能經(jīng)過優(yōu)化,可用于實(shí)時(shí)顯示海量數(shù)據(jù)-超過10億個(gè)數(shù)據(jù)點(diǎn)。 LightningChart包括廣泛的2D,高級(jí)3D,Polar,Smith,3D餅/甜甜圈,地理地圖和GIS圖表以及適用于科學(xué),工程,醫(yī)學(xué),航空,貿(mào)易,能源和其他領(lǐng)域的體繪制功能。
點(diǎn)擊下載LightningChart.NET最新試用版
LightningChart提供了兩種將數(shù)據(jù)表示為3D表面的方式-SurfaceGridSeries3D和SurfaceMeshSeries3D。
在SurfaceGridSeries3D中,節(jié)點(diǎn)在X和Z維度上等距分布,在SurfaceMeshSeries3D中,節(jié)點(diǎn)可以在3D空間中自由定位。
本教程說明如何使用LightningChart SurfaceGridSeries3D使用線框和輪廓線創(chuàng)建簡(jiǎn)單的3D SurfaceGrid。
SurfaceGrid允許將數(shù)據(jù)可視化為3D表面,并可用于表示,測(cè)量和檢查數(shù)據(jù)及其變化。
調(diào)色板著色在本教程中用于根據(jù)數(shù)據(jù)的值以不同的顏色表示數(shù)據(jù)。
建議您在我們的“ 熱圖”教程中進(jìn)行簡(jiǎn)要介紹,并在繼續(xù)進(jìn)行本教程之前解釋調(diào)色板的著色。
在本教程中,我們預(yù)定義了一些變量,以易于使用和清晰。
在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定義為活動(dòng)視圖并定義Y軸范圍。
// Set View3D as active view and set Y-axis range. _chart.ActiveView = ActiveView.View3D; _chart.View3D.YAxisPrimary3D.SetRange(-50, 100);
2.創(chuàng)建一個(gè)新的SurfaceGrid實(shí)例作為SurfaceGridSeries3D。
// Create a new SurfaceGrid instance as SurfaceGridSeries3D. _surfaceGrid = new SurfaceGridSeries3D(_chart.View3D, Axis3DBinding.Primary, Axis3DBinding.Primary, Axis3DBinding.Primary);
3.定義SurfaceGrid的設(shè)置。
// 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.創(chuàng)建ValueRangePalette并將其設(shè)置為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.生成數(shù)據(jù)。
// 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(); }
想要購(gòu)買FusionCharts Suite XT正版授權(quán),或了解更多產(chǎn)品信息請(qǐng)點(diǎn)擊
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: