Подходы для повышения эффективности диаграммы в C # winforms? - PullRequest
0 голосов
/ 01 января 2019

У меня есть простая диаграмма, которая печатает значения, считанные фоторезистором.Также на графике напечатаны 2 порога.Моя проблема в том, что, когда на диаграмме печатаются более 300 или 400 точек, она становится совершенно нечитаемой (чрезвычайно трудно прочитать или понять все напечатанные значения).

Посмотрите на это:

enter image description here

Я подумал, что используя инкрементный счетчик и делая это:

if (i > 300) {
   chart1.Invoke(new Action(() => {chart1.Series[0].Points.Clear(); }));
   chart1.Invoke(new Action(() => { chart1.Series[1].Points.Clear(); }));
   chart1.Invoke(new Action(() => { chart1.Series[2].Points.Clear(); }));
   i = 0;
}

Проблема решена, так как мой график снова становится пустым и читаемым, но я не хочу очищать и терять все мои предыдущие данные.

Какие альтернативные решения я могу попробовать, чтобы мои данные не были удалены, но чтобы моя диаграмма была читабельной?

1 Ответ

0 голосов
/ 02 января 2019

Когда вы идете, чтобы добавить новую точку, проверьте, если у вас есть более 300 очков.Если это так, удалите самую старую точку и добавьте самую новую.

if (chart1.Series[0].Points.Count > 300)
{
    chart1.Series[0].Points.RemoveAt(0);
}

Затем добавьте новую точку.

...