Как в Delphi строить графики?

Имеется ряд числел получаемых по формуле, допустим скорость разгона двигателя w и t- время, необходимо построить зависимость скорости от времени. Необходимо также, чтобы график строился в первой координатной четверти, как на листике или в excel...
задача заключается в следующем:
Функция, допустим


Wf:=w0*(1-exp(-t2/Tm));

t:=t+0.005;

Меня интересует зависимость Wf от t, остальные переменные носят постоянные величины.

То есть график пересечения точек Wf1 и t1, Wf2 И t2 и так далее!


  1. Создаешь форму и помещаешь на нее компоненту TChart (с закладки Additional).
  2. Duble-click на Chart вызовет ее редактор свойств. Там добавишь серию (т.е. кривую), настроишь параметры ее изображения. В самом Chart настроишь параметры осей и т.п.
  3. В runtime, в кокой-то момент начинаешь заполнять серию содержимым, т.е. последовательно добавляешь пары значений {X,Y}.
  4. И, собственно, все. В нижеприведенном примере, на форме находится кнопка "Build Curve", по которй все это происходит.

А выглядит это так:

{
User clicks on "Build" button.
Rebuild curve on the chart.

Note: The only available chart series is also a
form component named Series1.
}
procedure TMainScreen.BtnCurveClick(Sender: TObject);
const
DELTA_T = 0.005;
var
i : Integer;
t, tm : Double;
w, w0 : Double;
begin
// Flush any eixsitng data in the chart series
Series1.Clear;

// Retrieve current parameter values
w0 := StrToFloat( EditW0.Text );
tm := StrToFloat( EditTm.Text );

// Fill in the series with X-Y pairs, calculated with
// current parameter set. Use 100 points for the demo.
for i := 0 to 99 do begin
t := i * DELTA_T;
w := w0 * ( 1.0 - exp( -t / tm ) );
Series1.AddXY( t, w, '', clTeeColor );
end;
end;
(с) Kid_Deceiver

Примечание: Здесь использован тот факт, что каждая серия (кривая), имеющаяся на графике (в design-time), является также дочерней компонентой родилеьской формы. Это можно использовать для простоты обращения к отдельны series. В данном случае series у нас одна, и по умолчанию имеет имя Series1.

В результате имеем:


TopList Rambler's Top100