0

我使用 teechart 和 delphi 来绘制一个系列和该系列的趋势线,使用以下代码:

TF:= TTrendFunction.Create(self);
TrendSeries.SetFunction(TF);
TrendSeries.DataSource := OrigSeries;
TrendSeries.CheckDataSource;

它工作正常,但我想知道是否可以让趋势线向前或向后推断?在应用该函数进行推断后,我似乎找不到一种方法来检索系列的 x 和 y 值。我尝试使用 CalculateTrend 函数来计算 y = mx + b 中的“m”和“b”,但它给出了访问冲突,就像我尝试访问 series.YValue[i] 时一样。

那么有没有办法在应用趋势函数后检索它绘制的那些点?

谢谢。

4

2 回答 2

1

趋势函数将 2 点添加到 TrendSeries。点 0 位于 OrigSeries 的 X 最小值处,点 1 位于 X 最大值处。

要扩展 TrendSeries,例如向前,更改点索引 1:

procedure TForm1.Button1Click(Sender: TObject);

var 
  y, m, b: Double;

begin

  TF.CalculateTrend(m, b, OrigSeries, 0, OrigSeries.Count-1);
  TrendSeries.XValue[1]:=OrigSeries.Count+10;   // Extend last point by 10
  y:=m* (OrigSeries.Count+10) +b;
  TrendSeries.YValues[1]:=y;
end;
于 2011-06-03T09:41:23.597 回答
0

趋势线基于系列中的原始数据,因此,要推断趋势线,您必须向原始系列提供更多数据。

于 2011-03-04T23:11:39.723 回答