Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Programmir_na_Object_Pascal_lab_raboty_.doc
Скачиваний:
210
Добавлен:
11.03.2016
Размер:
14.48 Mб
Скачать

Лабораторная работа 7. Построение графиков

Цель лабораторной работы: изучить принцип построения графиков с помощью компонента TChart. Написать программу по построению графика f(x) с использованием TChart.

7.1. Компонент tChart

Компонент Delphi TChart располагается на странице Additional Палитры компонентов. Это богатый возможностями, очень мощный компонент, позволяющий строить двух и трехмерные красивые диаграммы на основе разнообразных данных. Он имеет большое количество разнообразных свойств. Часть из них, в свою очередь, являются объектами и обладают собственными свойствами.

Значок на Палитре компонентов имеет вид . Расположенный компонент на форме будет выглядеть так (рис. 7.1) и имя ему присваивается по умолчаниюChart1:

Рис. 7.1. Окно компонента Chart1

Настройка свойств компонента Chart1 происходит в редакторе Editing Chart. Вызвать его можно двойным щелчком по компоненту или используя свойство SeriesList Инспектора объектов. Появится следующее окно (рис. 7.2):

Рис. 7.2. Редактор компонента диаграмм и графиков Chart1

Основные параметры диаграммы определяются на вкладке Chart1 (диаграмма), она, в свою очередь, состоит из набора дополнительных панелей.

Панель Ряд данных (Series) важная, в ней можно добавить на один график несколько диаграмм с помощью кнопки Add. При этом над значениями данных можно выполнять операции задаваемые во вкладке Series -> Data Source выбрав function выбрав функцию из списка function.

Панель Общие (General) содержит следующие элементы управления:

  • кнопка Export - экспорт изображения в файл,

  • кнопка Print Preview - предварительный просмотр и печать диаграммы,

  • панель Zoom - масштабирование,

  • панель AllowScroll - отвечает за прокрутку изображения.

Средства панели Оси (Axis) регулируют настройку координатных осей, заголовков, их масштаб, шаг пунктирной сетки и многое другое.

Панель Заголовков (Titles) помогает оформить заголовки.

Панель Легенда (Legend) отвечает за внешний вид и содержание легенды.

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

Панель Страницы (Paging), позволяет разделить диаграммы на страницы. Для этого необходимо в поле (точки на странице) Points per Page подобрать соответствующее значение.

Панель Границы (Walls) отвечает за цвет и границы диаграммы.

Панель 3D дает возможность настройки 3D эффектов, (изменение масштаба, положения в пространстве), простым передвиганием ползунков управления.

Вкладка Ряды данных (Series) отвечает за оформление каждого ряда данных (графиков добавленных с помощью вкладки Chart). Текущий ряд данных задается с помощью раскрывающегося списка. Наиболее важная панель Источник данных данных (Data Sourece). В ней можно выбрать отказ от генерации значений (No Data), создать случайные значения (Random Values) или сформировать значения, как результат применения функции (список Function) к значениям рядов.

Чтобы добавить график или диаграмму выберете вкладку Add. Появится диалоговое окно TeeChartGallery, затем выберите Line (он выбран по умолчанию) и снимите флажок трехмерного отображения (рис. 7.3)

Рис. 7.3. Окно выбора отображения информации в Chart1

Нажмите OK. По умолчанию имя вашего графика Series1 (рис. 7.4) – это один из множества возможных наборов точек данных принадлежащих объекту Chart. При этом каждый конкретный набор точек данных – это также объект, принадлежащий диаграмме.

Каждый набор имеет множество опций для отображения его на диаграмме. В данном случае под диаграммой понимается сам объект Chart1.

Также необходимо отметить, что класс TChart к которому принадлежит компонент Chart1 является наследником класса TPanel, поэтому он обладает родительским свойством parent и может содержать в себе некоторые другие объекты типа TButton, TSpeedButton и т.д. Фактически это более усложненная панель для отображения.

Рис. 7.4. С помощью кнопки «Add» можно добавлять графики и диаграммы с именами по умолчанию Series2, Series3 и т.д.

Для задания отображаемых значений используются методы серии Series.

Основные:

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

Метод Add:

Add(const AValue: Double; const ALabel: String; AColor: TColor)

позволяет добавить в диаграмму новую точку (x). Параметр AValue соответствует добавляемому значению, параметр ALabel - название, которое будет отображаться на диаграмме и в легенде, AColor - цвет. Заметим, что параметр ALabel - не обязательный, его можно задать пустым: ' '.

Метод AddXY:

AddXY(const AXValue, AYValue: Double; const ALabel: String; AColor: TColor)

позволяет добавить в график функции новую точку (x, y). Параметр AXValue и AYValue соответствуют аргументу и функции. Параметр ALabel и AColor те же, что и в методе Add.

Рассмотрим некоторые примеры.

Пример использования метода Add для свойства Series. Например, чтобы заполнить круговую диаграмму, отображающую доли 6 различных значений, можно использовать следующий код:

Chart1.Series[0].Add(135,'Домашние сети'); Chart1.Series[0].Add(123,'ADSL'); Chart1.Series[0].Add(99,'Коммутируемые'); Chart1.Series[0].Add(52,'Кабельные сети'); Chart1.Series[0].Add(19,'GPRS'); Chart1.Series[0].Add(17,'Другие типы');

Для выбора заголовка диаграммы используется свойство Text.Title, являющееся списком строк. В типичном случае следует лишь изменить 0-й элемент этого списка, который по умолчанию имеет значение "TChart":

Chart1.Title.Text[0]:='Типы подключения к Интернету в Москве';

Если разместить на форму кнопку, а приведенный выше код использовать в качестве обработчика события OnClick, то при нажатии не нее в области построения будет выводиться соответствующая диаграмма (рис. 7.5).

Рис. 7.5. Построенная диаграмма

Пример использования метода AddXY для свойства Series.

Обработчик события OnActivate формы создает график, показанный на рис.7.6.

procedure TForm1.FormActivate(Sender: TObject);

var k: integer;

begin

for k:=0 to 20 do

Chart1.SeriesList[0].AddXY(k, cos(k*pi/5),' ', clRed);

end;

Рис.7.6. Пример использования компонента TChart

Так же возможна печать диаграммы (графика), для чего у компонента Chart1 имеется метод Print, так что выводить построенные диаграммы на печать чрезвычайно просто:

Chart1.Print;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]