其他分享
首页 > 其他分享> > 高性能图表控件LightningChart有关闪电图问题解答

高性能图表控件LightningChart有关闪电图问题解答

作者:互联网

LightningChart.NET完全由GPU加速,并且性能经过优化,可用于实时显示海量数据-超过10亿个数据点。LightningChart包括广泛的2D,高级3D,Polar,Smith,3D饼/甜甜圈,地理地图和GIS图表以及适用于科学,工程,医学,航空,贸易,能源和其他领域的体位功能。

点击下载LightningChart.NET最新试用版

问:在DataGrid上查看墨西哥的地图,在LightningChart上查看地图?否,您可以通过vb.net,agradeceríasime dan un ejemplo的“ com sarsar los datos de la tablaalgráfico”网站。

答:例如,仅通过在循环中读取DataGridViewUnit的值,将其分配为SeriesPoint X和Y值,就应该可以做到这一点。当前,在VisualBasic .Net中我们没有关于此的示例。但是,我可以在此处附上一个用WinForms完成的小示例,它应该使您知道如何完成此操作。

在此示例中,我们创建一个FreeformPointLineSeries,它从DataGridView获取其数据值(每行都有X和Y值的两列)。每次用户在网格中更改/添加值时,CellValueChanged事件中的值都会更新。基本上所有这一切都需要一些空检查和值解析。请注意,每次创建新的数据点列表都不是最有效的方法,最好只更改与值已更改的单元格相对应的数据点的X / Y值。

_chart = new LightningChartUltimate();

_chart.BeginUpdate();

_chart.Parent = splitContainer1.Panel2;
_chart.Dock = DockStyle.Fill;

FreeformPointLineSeries pls = new FreeformPointLineSeries(_chart.ViewXY, _chart.ViewXY.XAxes[0], _chart.ViewXY.YAxes[0]);
pls.LineStyle.Color = Color.LimeGreen;
pls.PointsVisible = true;
_chart.ViewXY.FreeformPointLineSeries.Add(pls);

问:Y en el casodelGráfico3D¿Cómoseria吗?

答:完全相同的逻辑也适用于3D图形。唯一的区别是分配新数据点时使用的是PointLineSeries3D而不是FreeformPointLineseries,使用SeriesPoint3D而不是SeriesPoint。这意味着您必须为数据点分配三个值(X, Y,Z)。因此,很有可能在DataGridView中应该有第三列。

问:现有的阿尔及利亚优先权要求控制数据网格视图有问题吗?

答:无法说出无法创建3D图表的确切原因是什么您可能缺少一些属性设置,例如将有效收视设置为View3D这是相同的的WinForms测试项目,现在已转换为使用三维图。

_chart = new LightningChartUltimate();

_chart.BeginUpdate();

_chart.Parent = splitContainer1.Panel2;
_chart.Dock = DockStyle.Fill;
_chart.ActiveView = ActiveView.View3D;

PointLineSeries3D pls = new PointLineSeries3D(_chart.View3D, Axis3DBinding.Primary, Axis3DBinding.Primary, Axis3DBinding.Primary);
pls.LineStyle.Color = Color.Yellow;
pls.PointsVisible = true;
pls.PointStyle.Shape3D = PointShape3D.Sphere;
pls.Material.DiffuseColor = Color.Red;
_chart.View3D.PointLineSeries3D.Add(pls);

_chart.EndUpdate();


private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            if (_chart != null)
            {
                List<SeriesPoint3D> points = new List<SeriesPoint3D>();
                double d1, d2, d3;

                for (int i = 0; i < dataGridView1.Rows.Count; i++)
                {
                    if (dataGridView1.Rows[i].Cells[0].Value != null && dataGridView1.Rows[i].Cells[1].Value != null && dataGridView1.Rows[i].Cells[2].Value != null)
                    {
                        if (double.TryParse(dataGridView1.Rows[i].Cells[0].Value.ToString(), out d1) && double.TryParse(dataGridView1.Rows[i].Cells[1].Value.ToString(), out d2) 
                            && double.TryParse(dataGridView1.Rows[i].Cells[2].Value.ToString(), out d3))
                        {
                            SeriesPoint3D pnt = new SeriesPoint3D();
                            pnt.X = d1;
                            pnt.Y = d2;
                            pnt.Z = d3;
                            points.Add(pnt);
                        }
                    }
                }
                _chart.View3D.PointLineSeries3D[0].Points = points.ToArray();
                _chart.View3D.PointLineSeries3D[0].InvalidateData();
            }
        }

关于读取/填充数据。LightningChart主要是可视化组件,它本身没有接口可连接到MySQL或Oracle等数据库。从技术上讲,LightningChart不到乎如何将数据提供给图表,但通常来说,从某些特定来源读取数据的功能有限。我们的演示应用程序具有“大数据打开速度测试”的示例,该示例显示了如何保存和读取我们的文件格式。但是,“数据库”有无限的可能性,我们无法因此,用户应开发自己的例程以从其具有的任何源读取数据,刹车将数据添加到图表。数据源或从中读取数据的方法完全不会影响图表本身。
如果该有任何疑问,请联系客服以获取更多信息。

如果您对该图表控件感兴趣,欢迎加入图表控件QQ交流群:740060302

标签:控件,Rows,pls,chart,问题解答,图表,dataGridView1,LightningChart
来源: https://blog.csdn.net/RoffeyYang/article/details/116535236