提高C#winforms中图表效率的方法?

时间:2019-01-01 17:53:25

标签: c# .net winforms charts mschart

我有一个简单的图表,可以打印由光敏电阻读取的值。该图表还会打印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 :(得分:0)

当您要添加新点时,请检查是否有300点以上。如果这样做,则删除最旧的点并添加最新的点。

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

然后添加新点。