Как изобразить словарные значения каждого ключа в C# - PullRequest
2 голосов
/ 23 марта 2020

Я хочу построить линейный график в словаре с несколькими значениями каждого ключа для рядов, имеющих одинаковое значение X. Я проверил другие посты, однако они в основном о python, а у тех, у которых c#, словарная структура отличается от моей. Мой словарь выглядит так:

[12/3/2020 10:34:47 AM (20, 21, 30, 50, 20)]
[12/3/2020 10:34:59 AM (22, 20, 20, 30, 12)]
[12/3/2020 10:35:10 AM (32, 39, 21, 23, 40)]

И мой тип словаря:

Dictionary<DateTime, dynamic> data = new Dictionary<DateTime, dynamic>();

Значения имеют тип double, где ключевые типы DateTime. Вот что я пробовал до сих пор:

  chart1.Series.Add("series1");
  chart1.Series["series1"].Color = Color.Green;
  chart1.Series["series1"].Points.AddXY(data.Keys,data.Values);

Приведенный выше код работает для Keys, но Values выдает ошибку, говоря, что значения не повторяются.

Я также пробовал другой способ как показано ниже;

   chart1.DataSource = data; //data is the dictionary
   chart1.Series["series1"].XValueMember = "Key";
   chart1.Series["series1"].YValueMembers = "Value";

Снова Values не может быть отображено.

Я не могу получить доступ к каждому значению кортежа для построения (я мог бы создать массив для части кортежа, но я хочу чтобы узнать, как это сделать с <dynamic>), может кто-нибудь помочь мне, пожалуйста?

...