欢迎访问宙启技术站
智能推送

LightningChart.NET怎么创建3D SurfaceGrid图表

发布时间:2023-05-17 04:22:11

LightningChart.NET是一款高性能的数据可视化工具,提供了强大的3D绘图功能。其中,3D SurfaceGrid图表是一种常用的3D图表类型。本文将介绍如何使用LightningChart.NET创建3D SurfaceGrid图表。

1. 新建一个项目

在Visual Studio中新建一个项目,选择Windows桌面应用程序(Windows Forms)。

2. 安装LightningChart.NET

在NuGet包管理器中搜索LightningChart.NET,安装最新版本。

3. 添加控件并设置基本属性

在Form窗体中添加一个LightningChartControl控件。接下来,设置控件的基本属性:标题、X、Y、Z轴标题以及轴的范围。这里为例设置表格的尺寸为10行10列,其中X和Y轴的范围均为0到9,Z轴的范围为0到100。

LightningChartControl chart = new LightningChartControl();

chart.Dock = DockStyle.Fill;
Controls.Add(chart);

chart.Title.Text = "3D SurfaceGrid";

chart.View3D.XAxisPrimary3D.Title.Text = "X";
chart.View3D.YAxisPrimary3D.Title.Text = "Y";
chart.View3D.ZAxisPrimary3D.Title.Text = "Z";

chart.View3D.AxisPrimary3D.SetRangeX(0, 9);
chart.View3D.AxisPrimary3D.SetRangeY(0, 9);
chart.View3D.AxisPrimary3D.SetRangeZ(0, 100);

chart.ChartSurface.Awake();

4. 添加SurfaceGrid图表

在LightningChartControl控件中添加一个SurfaceGrid图表,设置X、Y、Z轴以及表格的行列数。

SurfaceGridGrid3D surfaceGrid3D = new SurfaceGridGrid3D(chart.View3D, SurfaceGridSeriesRenderingMode.ZBuffer, SurfaceGridDataCreationMode.ColorMap, 10, 10);

surfaceGrid3D.SetSize(10, 10);

chart.View3D.SurfaceMesh = surfaceGrid3D;

5. 生成数据并绑定数据

接下来,为SurfaceGrid图表生成数据并绑定数据。这里以随机生成的数据为例。

double[,] data = GenerateData();

surfaceGrid3D.Data.SetValues(data);

6. 设置SurfaceGrid颜色

最后,设置SurfaceGrid图表的颜色。LightningChart.NET提供了多种SurfaceGrid颜色的设置方式。这里以使用固定颜色来设置为例。

surfaceGrid3D.Coloring = new SurfaceGridUniformColoringPalette(chart.View3D, System.Drawing.Color.Green);

完整的代码如下:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

        LightningChartControl chart = new LightningChartControl();

        chart.Dock = DockStyle.Fill;
        Controls.Add(chart);

        chart.Title.Text = "3D SurfaceGrid";

        chart.View3D.XAxisPrimary3D.Title.Text = "X";
        chart.View3D.YAxisPrimary3D.Title.Text = "Y";
        chart.View3D.ZAxisPrimary3D.Title.Text = "Z";

        chart.View3D.AxisPrimary3D.SetRangeX(0, 9);
        chart.View3D.AxisPrimary3D.SetRangeY(0, 9);
        chart.View3D.AxisPrimary3D.SetRangeZ(0, 100);

        chart.ChartSurface.Awake();

        SurfaceGridGrid3D surfaceGrid3D = new SurfaceGridGrid3D(chart.View3D, SurfaceGridSeriesRenderingMode.ZBuffer, SurfaceGridDataCreationMode.ColorMap, 10, 10);

        surfaceGrid3D.SetSize(10, 10);

        chart.View3D.SurfaceMesh = surfaceGrid3D;

        double[,] data = GenerateData();

        surfaceGrid3D.Data.SetValues(data);

        surfaceGrid3D.Coloring = new SurfaceGridUniformColoringPalette(chart.View3D, System.Drawing.Color.Green);
    }

    private double[,] GenerateData()
    {
        Random random = new Random();
        double[,] data = new double[10, 10];

        for (int i = 0; i < 10; i++)
        {
            for (int j = 0; j < 10; j++)
            {
                data[i, j] = random.Next(0, 100);
            }
        }

        return data;
    }
}

至此,使用LightningChart.NET创建3D SurfaceGrid图表已完成。以上仅是最基本的使用方法,LightningChart.NET还提供了丰富的配置项和高级功能,例如自定义颜色、使用TextureMap渲染等等。具体可以参考官方文档或者其他相关教程。