Компонент-диаграмма

Компонент-диаграмма Chart предназначена для работы со сложными диаграммами различных типов, в том числе с объемными. Этот компонент является достаточно сложным и имеет большое количество разнообразных свойств, многие из которых являются объектами и также имеют свои свойства. На практике установка значений этих свойств выполняется при разработке приложения с помощью редактора (окно Editing Chart).

Редактор позволяет оперировать со свойствами-объектами, информация о которых отображается на страницах редактора. Редактор вызывается двойным щелчком на компоненте Chart или через поле значения свойства объекта в Инспекторе объектов. В этом случае активной становится страница, соответствующая выбранному свойству.

Для каждой диаграммы можно установить следующие основные параметры:

· тип;

· название;

· оси;

· легенду;

· источник данных.

Важнейшим свойством диаграммы является Series [Index: Longint] типа TChartSeries, представляющее массив диаграмм, выводимых в области компонента Chart.

Разработчик, как минимум, должен указать тип диаграммы и источник данных. Тип диаграммы задается на странице редактора Chart — Series и определяет вид диаграммы. Часто компонент Chart содержит только одну диаграмму. Можно задавать разные типы диаграмм, например, линейный график или круговую диаграмму. Типов много, более десятка. Существуют еще и объемные варианты 3D.

Источник данных выбирается на странице редактора Series - DataSource. В качестве источника данных используются: значения, определяемые выбранной функцией; случайные значения или значения, вводимые программно. Если формирование значений диаграммы осуществляется при выполнении приложения, то для источника данных необходимо выбрать No Data. Для компонентов DBChart и QRChart в качестве источника данных может служить набор данных, например, Table.

Для управления значениями, по которым строится диаграмма, часто используется методы Add, Delete и Clear.

Функция

Add(Const AValue: Double; Const ALable: String; AColor: TColor): Longint

добавляет к диаграмме значение, указанное параметром AValue. Параметры ALable и AColor содержат название значения и цвет, используемый при выводе. В качестве результата функция возвращает номер значения в массиве значений диаграммы.

Процедура Delete(ValueIndex: Longint) удаляет значение с номером, указанным параметром ValueIndex. Для удаления всех значений удобно использовать процедуру Clear.

Метод AddXY позволяет добовлять новую точку в график функции.

Синтаксис:

AddXY(Const AXValue, AYValue: Double; Const Alabel: String; AColor: TColor);

Параметры AXValue и AYValue соответствуют аргументу и функции. Параметры ALable и AColor означают то же, что и в методе Add.

Некоторые свойства компонента Chart:

AllowPanning Определяет возможность пользователя прокручивать наблюдаемую часть графика во время выполнения
AllowZoom Позволяет пользователю изменять во время выполнения масштаб изхображения
Title Определяет заголовок диаграммы
Foot Определяет подпись под диаграммой. Текст подписи определяет подсвойство Text
Frame Определяет рамку вокруг диаграммы
Legend Открывает окно Legend
Margineft, MarginRight, MarginTop MarginBottom Значения левого, правого, верхнего и нижнего полей
BottomAxis, LeftAxis, RightAxis Эти свойства определяют характеристики соответственно нижней, левой и правой осей
LeftWall, BottomWall BackWall Эти свойства определяют характеристики соответственно левой, нижней и задней граней областей трехмерного отображения графика
SeriesList Список серий данных, отображаемых в компоненте
View3D Разрешает или запрещает трехмерное отображение диаграммы
View3DOption Характеристики трехмерного отображения
Chart3DPercent Масштаб трехмерности

Пример:

В этом примере данные для построения графика заносятся в компонент Memo. Уже оттуда они преобразуются в числовые значения и методом Add добавляютс на диаграмму.

procedure TForm1.Button1Click(Sender: TObject);

var

n:byte;

begin

Chart1.Series[0].Clear;

for n:=0 to Memo1.Lines.Count-1 do begin

Chart1.Series[0].Add(StrTofloat(Memo1.Lines[n]),IntToStr(n),clGreen);

end;

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

Chart1.Series[0].Clear;

Memo1.Lines.Clear;

end;

Пример:

В этом проекте будут заданы две серии для того, чтобы изобразить на графике две кривые. Выбираем тип диаграммы Line. Можно воспользоваться закладками Axis и Walls для задания координатных характеристик осей и трехмерных граней графика.

Для круговой диаграммы задаются некоторые константы, а в графиках — функции синус и косинус.

Метод Clear очищает серию от занесенных ранее данных. Метод Add позволяет добавлять в диаграмму новую точку.

procedure TForm1.Button1Click(Sender: TObject);

const

B1=160;

B2=320;

B3=210;

var i:integer;

begin

with Series1 do

begin

Clear;

Add(B1,'Филиал 1',clRed);

Add(B2,'Филиал 2',clBlue);

Add(B3,'Филиал 3',clYellow);

end;

Series2.Clear;

Series3.Clear;

for i:=0 to 100 do

begin

Series2.AddXY(0.02*Pi*i,sin(0.02*Pi*i),'',clRed);

Series3.AddXY(0.02*Pi*i,cos(0.02*Pi*i),'',clBlue);

end;

end;


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: