写点什么

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

用户头像
Geek_bacee5
关注
发布于: 2021 年 04 月 15 日
Arction高性能图表控件LightningChart中Datagrid的Pasar datos deview闪电图问题解答

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


问题: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

LightningChart是一家坐落于北欧芬兰的控件开发商Arction Ltd 的产品,是微软公司认证的合作伙伴。高性能图标控件 LightningChart 高效渲染效率很受.NET 开发者青睐。Arction 在重塑图表控件领域中做出极大成绩: 2009 年,Arction 成为业界第一家 WinForms图表控件领域中引入 DirectX 2D 渲染的制造商; 2013 年,以第一家针对 WPF 制图行业中使用 DirectX 引入真正硬件加速的制造商而闻名;近年来,Arction专注于开发最高性能和最先进的数据可视化工具,设定行业最高标准。

用户头像

Geek_bacee5

关注

还未添加个人签名 2021.04.15 加入

还未添加个人简介

评论

发布
暂无评论
Arction高性能图表控件LightningChart中Datagrid的Pasar datos deview闪电图问题解答