Как добавить несколько точек на график с помощью метода «AddY (Object [])» в C#? - PullRequest
0 голосов
/ 15 апреля 2020

Мы разрабатываем приложение WPF C# для Visual Studio 2019. Оно имеет диаграмму, которая отображает 300 линий * 10000 точек одновременно. Конечно, данные действительно большие, обновление происходит очень медленно. Позвольте мне показать наш пример кода.

private System.Diagnostics.Stopwatch sw = new Stopwatch();

~~~Abbreviated~~~~~~~

sw.Start();
for(int i=0;i<300;i++){
chart1.Series[i].Points.DataBindY(my1Darray)
}
sw.Stop();
Console.WriteLine(sw.ElapsedMilliseconds);

Мой секундомер возвратился через 8000 мсек c ... Мы пришли к выводу, что метод DataBind не удовлетворяет нашим требованиям.

В качестве следующей идеи мы попытались использовать AddY (Object []) метод .

object[] myObject = new object[1];

for(int i=0; i<300;i++){
   myObject[i] = "42";  //Assign user-defined value   
   chart1.Series[i].Points.AddY(myobject[0]);
}

Работало нормально. Result

Но когда мы сделали такую ​​небольшую модификацию,

 object[] myObject = new object[1];

for(int i=0; i<300;i++){
   myObject[i] = "1,2";  //Assign user-defined value   
   chart1.Series[i].Points.AddY(myobject[0]);
}

Очень странно ... строка была на "12". Я надеялся, что строка была ... 2,1,2,1,2,1 enter image description here

Мы также сделали еще одну модификацию, такую ​​как

object[] myObject = new object[2];

for(int i=0; i<300;i++){
   myObject[0] = "56";  //Assign user-defined value
   myObject[1] = "67";
   chart1.Series[i].Points.AddY(myobject);
}

Сообщение об ошибке «Вы можете установить только точку yValue-1 для этого Datapoint (имя параметра: yValue)».

Мы находимся над головой !! Мы хотели бы добавить несколько точек одновременно, но не могли ... У кого-нибудь есть хорошее решение? Было бы полезно поделиться примером, в котором используется метод AddY (Object []).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...