0

我正在使用 .NET Fastline 系列的 teecharts,然后我正在绘制一些简单的图,(用于我使用的测试)

        for (t = 0; t < maxPoints; ++t)
        {
            realtimeLine.Add(t, Math.Sin(t * 2 * Math.PI / 10 / 20));
        }

但是随后点的数量(maxPoints)很大(12000),情节看起来不太好,上面有楼梯之类的东西(楼梯属性变为假)。

我也尝试使用 Line,Smoothed = true,但在这种情况下,绝对没有发生任何事情,情节尚未绘制,如果 Smoothed = false,情节绘制但处理器负载增加,相对较快,那不是对我来说很好,我认为,平滑也需要一些资源。

我应该怎么做才能用快速线获得平滑的情节?我可以把我的项目发给你,如果你愿意,我该怎么做

4

1 回答 1

0

在您的情况下,我认为使用函数 Smoothing 并将其应用于您的 Fastline 将非常有用,就像在下一个示例代码中所做的那样:

public Form1()
    {
      InitializeComponent();
      InitializeChart();
    }
    const int maxPoints = 500;
    Steema.TeeChart.Styles.FastLine fast;
    Steema.TeeChart.Styles.FastLine fast1;
    Steema.TeeChart.Functions.Smoothing smoothing; 
    private void InitializeChart()
    {
      tChart1.Aspect.View3D = false; 
      fast = new FastLine(tChart1.Chart);
      fast1 = new FastLine(tChart1.Chart);
      smoothing = new Steema.TeeChart.Functions.Smoothing(); 
      for (int t = 0; t < maxPoints; ++t)
      {
        fast.Add(t, Math.Sin(t * 2 * Math.PI / 10 / 20));
      }
      fast1.DataSource = fast;
      fast1.Function = smoothing;
      smoothing.Period = 4;
      fast.Active = false; 
      checkBox1.Checked = true; 
    }

您能否告诉我们以前的代码是否可以帮助您实现您想要的目标?

我希望会有所帮助。

谢谢,

于 2013-07-23T15:11:31.103 回答