logo search
Posobie_Ravino_Atamanov

2.5.5.8. Построение графических зависимостей

Построение графических зависимостей удобнее всего выполнять с использованием компонента Chart или Chart Pro .

Каждый такой объект представляет серию данных, характеризующихся определенным стилем отображения: тем или иным графиком. Каждый компонент Chart может включать несколько серий. При отображении графика каждая серия будет соответствовать одной кривой на графике (рисунок 11).

Рисунок 11 – Предварительная настройка графиков в компоненте Chart

Для задания отображаемых значений надо использовать методы серий Series. Основными методами при построений графиков являются Clear и AddXY.

Метод Clear очищает серию от занесенных ранее данных.

Метод AddXY имеет следующий формат:

AddXY(Const AXValue, AYValue:Double;

Const ALabel:String; AColor: TColor)

и позволяет добавить новую точку в график функции. Параметры AXValue и AYValue соответствуют аргументу и функции. Параметр ALabel ‑ метка, которая будет отображаться на диаграмме и в легенде, AColor – цвет кривой графика. Параметры ALabel и AColor являются не обязательными и их можно не задавать.

Таким образом, процедура построения графика, например, синусоиды может выглядеть следующим образом.

var x:real;

begin

Chart1.Title.Caption:='Синусоида';

Series1.Clear;

x:=0;

Repeat

Series1.AddXY(x, sin(x));

x:=x+0.01

Until x>=2*pi;

end;

Оператор Clear нужен обязательно, потому что в процессе работы приложения происходит обновление графиков. Без него повторное выполнение метода AddXY добавит новые точки, не удалив прежние.

Построение трехмерной зависимости осуществляется методом AddXYZ, однако такая возможность существует только в Chart Pro.

Метод AddXYZ имеет следующий формат:

AddXYZ(Const AX, AY, AZ: TChartValue)

и работает аналогично, рассмотренным выше способом.

В качестве примера построим график функции

f(x, y):=sin(x)+cos(y).

var x,y,f:real;

begin

x:=-2*pi;

Repeat

y:=-2*pi;

repeat

f:=sin(x)+cos(y);

Series1.AddXYZ(x,f,y);

y:=y+0.05;

until (y>=2*pi);

x:=x+0.05;

until (x>=2*pi);

end;

Полученный результат представлен на рисунке 12.

Рисунок 12 – Трехмерный график, построенный

с использованием компонента Chart Pro

Аналогичным способом строятся графики, практически любой сложности.