0

次のコードを使用して、デルファイでティーチャートを使用して、シリーズとそのシリーズの傾向線をプロットしています。

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

トレンド機能は、TrendSeries に 2 ポイントを追加します。ポイント 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 に答える