gpt4 book ai didi

c# - 从 DataGridView 获取数据到 Chart

转载 作者:太空宇宙 更新时间:2023-11-03 10:28:25 30 4
gpt4 key购买 nike

我需要将数据从单个 DataGridView 获取到 3 个不同的图表中,每列到一个图表中。这是我第一次使用图表,所以我对它们进行了一些研究,但找不到任何可以帮助我解决这个特定问题的东西。

下面是我的 DataGridView 和我的图表的截图,以及它们各自的图例:

DataGridView and Charts

我需要的是(至少在理论上)一个非常简单的东西。在“SANITY”图表中,我需要将位于 Table[0, 0] 的值转换为类似 sanityChart.Series[0] 的值作为其“Y”值,等等。 “UNIT”和“ISSUES DB”也一样。任何帮助将不胜感激。

最佳答案

从你提问的方式和你展示的图片来看,我相信你想要这样的东西:

enter image description here

我只使用一个Chart,并且我为每个Columns 添加了一个Series

设置图表后,我为表中的每一行添加了一个数据点到每个系列/列..:

// setting up the datagridview
Table.Rows.Clear();
Table.Columns.Clear();
Table.Columns.Add("state", "");
Table.Columns.Add("sanity", "SANITY");
Table.Columns.Add("unit", "UNIT");
Table.Columns.Add("issuesDb", "ISSUES DB");
// filling in some data
Table.Rows.Add("ALL PASSED", 86, 21, 2);
Table.Rows.Add("FAILED", 7, 0, 1);
Table.Rows.Add("Cancelled", 0, 0, 0);

// Now we can set up the Chart:
List<Color> colors = new List<Color>{Color.Green, Color.Red, Color.Black};

chart1.Series.Clear();

for (int i = 0 ; i < Table.Rows.Count; i++)
{
Series S = chart1.Series.Add(Table[0, i].Value.ToString());
S.ChartType = SeriesChartType.Column;
S.Color = colors[i];
}

// and fill in all the values from the dgv to the chart:
for (int i = 0 ; i < Table.Rows.Count; i++)
{
for (int j = 1 ; j < Table.Columns.Count; j++)
{
int p = chart1.Series[i].Points.AddXY(Table.Columns[j].HeaderText, Table[j, i].Value);
}
}

请注意,我已选择使用 AddXY 重载添加 DataPoints,并且还决定通过添加 X 让我的生活更轻松一些-Values 作为 strings。在内部它们仍然转换为 doubles 并且都将具有 0 的值!这对我们来说不是问题,但重要的是要了解我们没有使用有效数字,因此不能将它们视为数字!优点是轴标签无需任何进一步工作即可设置为列标题。

关于c# - 从 DataGridView 获取数据到 Chart,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31005460/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com