#c# #winforms #charts #livecharts
Вопрос:
В настоящее время я использую WinForms. У меня есть два списка значений (двойников), которые я визуализирую с помощью пакета NuGet «LiveCharts». Теперь к моей проблеме: список значений постоянно меняется по мере добавления новых значений в оба списка с частотой до 200 значений в секунду. Прямо сейчас я делаю это со Случайными значениями. В цикле я добавляю новое случайное значение в каждый список и удаляю значение с индексом 0. Теперь я хочу, чтобы диаграмма обновлялась каждый раз, когда в список добавляется новое значение, но, хотя я вызываю метод, который должен делать это каждый раз, когда я изменяю значения, диаграмма обновляется только после завершения цикла.
Этот метод вызывается кнопкой и должен добавить 10 новых значений. Это работает, но диаграмма обновляется только после завершения цикла for, хотя метод UpdateChart() вызывается каждый раз.
private void ReloadButton_Click(object sender, EventArgs e)
{
for (int i = 0; i < 10; i )
{
valueList1.RemoveAt(0);
AddRandomValueToList1();
valueList2.RemoveAt(0);
AddRandomValueToList2();
UpdateChart();
}
}
Это метод UpdateChart (), который я использую для обновления диаграммы, которая является объектом класса и содержит значение и дату-время
private void UpdateChart()
{
series1 = new SeriesCollection();
// series.Clear();
double[] values1 = new double[valueList1.Count];
double[] values2 = new double[valueList2.Count];
int index = 0;
foreach(Revenue current in valueList1)
{
values1[index] = current.value;
index ;
}
index = 0;
foreach (Revenue current in valueList2)
{
values2[index] = current.value;
index ;
}
series1.Add(new LineSeries()
{
Title = "Values1",
Values = new ChartValues<double>(values1)
});
series1.Add(new LineSeries()
{
Title = "Values2",
Values = new ChartValues<double>(values2)
});
cartesianChart1.Series = series1;
}
Я уже пытался добавить разрывы (Поток.Спать) надеялся, что график обновится, но это не сработало. А также метод cartesianChart1.Refresh (), который я вызвал в цикле for. Также я отключил анимацию, но все равно получил не тот результат, на который надеялся.
Теперь я не знаю, что я могу сделать, чтобы заставить диаграмму обновляться каждый раз, когда я изменяю значения списков, чтобы создать диаграмму в реальном времени.
I am grateful for every help
Thanks in advance