C# 创建包含 2 个 YValue 的图表

本文关键字:YValue 创建 包含 | 更新日期: 2023-09-27 18:34:22

我想在Visual Studio中创建一个包含1个XValue和2个YValues的图表(ChartType = Range)。如何将数据(例如字典)绑定到此图表?

对于所有其他图表(只有 1 个 YValue),我成功地使用以下代码将整个字典绑定到图表:

Dictionary<int, int> Dictionary1;
...
chart1.Series["Series1"].Points.DataBindXY(Dictionary1.Keys, Dictionary1.Values);

我试图将 a List 绑定到 YValues,但这不起作用(运行时错误:只有以下类型是可能的双精度、十进制、单精度、整数、长整型、uint、ulong、字符串、日期时间、短、ushort):

Dictionary<int, List<int>> Dictionary2;
...
chart2.Series["Series2"].Points.DataBindXY(Dictionary2.Keys, Dictionary2.Values);

谢谢,卢克

C# 创建包含 2 个 YValue 的图表

您必须传递两个以逗号分隔的 y 值:

chart2.Series["Series2"].ChartType = SeriesChartType.Range;
int[] y1 = Dictionary2.Values.Select(y => y[0]).ToArray();
int[] y2 = Dictionary2.Values.Select(y => y[1]).ToArray();
chart2.Series["Series2"].Points.DataBindXY(Dictionary2.Keys, y1, y2);

在之前设置 ChartType 很重要,因为可能的 y 值的数量取决于它。