2011-02-25 1 views
0

의 TeeChart 트렌드 함수 추정 할 수 없습니다 : 그것은 잘 작동나는 일련의 다음과 같은 코드를 사용하여 해당 시리즈의 추세선 음모 델파이와의 TeeChart 사용하고

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

을,하지만 난에 가능하다면 궁금 해서요 추세선을 앞으로 또는 뒤로 추정 해보고 싶습니까? 함수를 함수에 적용한 후에 x와 y 값을 구할 수있는 방법을 찾지 못하는 것 같습니다. 나는 CalculateTrend 함수를 사용하여 y = mx + b에서 'm'과 'b'를 계산하려고 시도했지만 series.YValue [i]에 액세스하려고 할 때와 마찬가지로 액세스 위반이 발생했습니다.

트렌드 기능을 적용한 후에 플롯하는 점을 검색하는 방법이 있습니까?

감사합니다.

+0

에 오신 것을 환영합니다. "사용하려고 시도했다"및 "액세스 위반이 발생했습니다"는 많은 도움이되지 않습니다. 코드와 정확한 액세스 위반 정보가 없으면 귀하를 도울 수 없습니다. "시도 할 때 내 차가 작동하지 않습니다. 무엇이 잘못 되었나요?" 실제 정보를 제공해야 솔루션을 찾을 수 있습니다. –

+0

또한 Delphi와 TeeChart (특히 후자) 버전이 필요합니다. – Argalatyr

답변

0

추세선은 계열의 원래 데이터를 기반으로하므로 추세선을 외삽하기 위해 원본 계열에 더 많은 데이터를 제공해야합니다.

1

Trend 기능은 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; 
관련 문제