高性能图表控件LightningChart中Datagrid的Pasar datos deview闪电图问题解答

博客讨论了在LightningChart中如何将DataGrid的数据传递到图表,提供了在WinForms环境下使用FreeformPointLineSeries和3D PointLineSeries的示例,强调了LightningChart的高性能GPU加速能力,适用于实时大数据可视化。文章还提到,LightningChart不直接支持数据库连接,用户需要自定义数据读取逻辑。
摘要由CSDN通过智能技术生成

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

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

问题:Datagrid的Pasar datos deview闪电图

在DataGrid上查看墨西哥的地图,在LightningChart上查看地图?否,您可以通过vb.net上的agradeceríasi me dan un ejemplo来查看自己的名字。

回复:Datagridview的Pasar datos de a Lightningchart

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

_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);

_chart.EndUpdate();

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

                for (int i = 0; i < dataGridView1.Rows.Count; i++)
                {
                    if (dataGridView1.Rows[i].Cells[0].Value != null && dataGridView1.Rows[i].Cells[1].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))
                        {
                            SeriesPoint pnt = new SeriesPoint();
                            pnt.X = d1;
                            pnt.Y = d2;
                            points.Add(pnt);
                        }
                    }
                }
                _chart.ViewXY.FreeformPointLineSeries[0].Points = points.ToArray();
                _chart.ViewXY.FreeformPointLineSeries[0].InvalidateData();
            }
        }

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

Y en el caso delGráfico3D¿Cómoseria吗?

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

现有的阿尔及利亚优先权要求控制数据网格视图有问题吗?no he podido crear elgráfico3D:’(,quizássea la forma de llenar el datagrid,tal vez el origen de los datos,como se ingresan los datos,等等

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

_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不在乎如何将数据提供给图表,但通常来说,从某些特定来源读取数据的功能有限。我们的演示应用程序具有“大数据打开速度测试”的示例,该示例显示了如何保存和读取我们的文件格式。但是,“数据库”有无限的可能性,我们无法在库中将它们全部涵盖。因此,用户应开发自己的例程以从其具有的任何来源读取数据,以便将数据添加到图表。数据源或从中读取数据的方法完全不会影响图表本身。
如果对此有任何疑问,请联系客服以获取更多信息。

想要购买LightningChart正版授权,或了解更多产品信息请【咨询慧都在线客服

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值