Компонент Chart
Компонент Chart
- розмір шрифту зменшити розмір шрифту збільшити розмір шрифту
- Друк
Компонент Chart
Тепер розглянемо компонент Chart. Цей компонент дозволяє будувати різні діаграми та графіки, які виглядають дуже ефектно (рис.1). Компонент Chart має безліч властивостей, методів, подій, тому якщо всі їх розглядати, то цьому довелося б присвятити цілу главу. Тому обмежимося розглядом лише основних характеристик Chart. А з рештою ви можете ознайомитись у вбудованій довідці Delphi або просто випробувати їх, експериментуючи з діаграмами.


Приклад програми з діаграмами: початковий стан (а) та стан при зміні типу діаграми та збільшення фрагмента графіка (б).
Компонент Chart є контейнером об'єктів Series типу TChartSeries - серій даних, що характеризуються різними стилями відображення. Кожен компонент може містити кілька серій. Якщо ви хочете відображати графік, то кожна серія відповідатиме одній кривій на графіку. Якщо ви хочете відображати діаграми, то для деяких видів діаграм можна накласти один на одного кілька різних серій, для інших (наприклад, для кругових діаграм) це, ймовірно, виглядатиме некрасиво. Однак, і в цьому випадку можна задати для одного компонента Chart кілька серій однакових даних з різним типом діаграми. Тоді, роблячи в кожний момент часу активною одну з них, ви можете надати користувачеві вибір типу діаграми, що відображає дані, що його цікавлять.
Розмістіть один або два (якщо захочете відтворити рис.1) компонента Chart на формі і подивіться властивості, що відкрилися в Інспекторі Об'єктів.Наведемо пояснення деяких із них.
Поруч із багатьма з перерахованих властивостей в Інспекторі Об'єктів розташовані кнопки з трьома крапками, які дозволяють викликати ту чи іншу сторінку Редактора Діаграм — багатосторінкового вікна, що дозволяє встановити всі властивості діаграм. Виклик Редактора Діаграм можливий також подвійним клацанням на компоненті Chart або клацанням на ньому правою кнопкою миші та вибором команди Edit Chart у меню.
Якщо ви хочете спробувати відтворити програму, показану на рис.1, зробіть подвійне клацання на верхньому компоненті Chart. Ви потрапите у вікно редактора діаграм (мал.2) на сторінку Chart, яка має кілька закладок. Насамперед вас буде цікавити на ній закладка Series. Натисніть кнопку Add — додати серію. Ви потрапите у вікно (рис.3), у якому ви можете вибрати тип діаграми чи графіка. У цьому випадку виберіть Pie — коло діаграми. Скориставшись закладкою Titles, ви можете задати заголовок діаграми, закладка Legend дозволяє задати параметри відображення легенди діаграми (списку позначень) або взагалі прибрати її з екрану, закладка Panel визначає вид панелі, на якій відображається діаграма, закладка 3D дає вам можливість змінити зовнішній вигляд вашої діаграми нахил, зсув, товщину і т.д.
Коли ви працюєте з Редактором Діаграм і вибрали тип діаграми, у компонентах Chart на вашій формі відображається її вигляд із занесеними до неї умовними даними.

Редактор Діаграм, сторінка Chart, закладка Series

Вибір типу діаграми у Редакторі Діаграм
Тому ви відразу можете спостерігати результат застосування різних опцій до вашої програми, що дуже зручно.
Сторінка Series, також має ряд закладок, дає можливість вибратидодаткові характеристики відображення серії. Зокрема, для кругової діаграми на закладці Format корисно включити опцію Circled Pie, яка забезпечить за будь-якого розміру компонента Chart відображення діаграми у вигляді кола. На закладці Marks кнопки групи Style визначають, що буде написано на ярликах, що належать до окремих сегментів діаграми: Value – значення, Percent – відсотки, Label – назви даних тощо. У прикладі рис. 4.8 увімкнена кнопка Percent, a на закладці General встановлений шаблон відсотків, що забезпечує відображення лише цілих значень.

Форма докладання рис.1 із занесеними до неї умовними даними
Ви можете, якщо хочете, додати ще одну тотожну серію на цей компонент Chart, натиснувши на закладці Series сторінки Chart кнопку Clone, а потім для цієї нової серії натиснути кнопку Change (змінити) і вибрати інший тип діаграми, наприклад, Bar. Звичайно, два різні типи діаграми на одному малюнку виглядатимуть погано. Але ви можете вимкнути індикатор цієї нової серії на закладці Series, а потім надати користувачеві вибрати той чи інший вид відображення діаграми (нижче буде показано, як це робиться).
Вийдіть з Редактора Діаграм, виділіть у вашому додатку нижній компонент Chart і повторіть завдання властивостей за допомогою Редактора Діаграм. В даному випадку вам потрібно буде задати дві серії, якщо хочете відображати на графіку дві криві та вибрати тип діаграми Line. Оскільки йдеться про графіки, ви можете скористатися закладками Axis та Walls для завдання координатних характеристик осей та тривимірних граней графіка.
На цьому проектування зовнішнього вигляду програми завершується. Залишилося написати код, який задає дані, які ви хочете відображати. Для тестової програми давайте поставимо вкруговій діаграмі просто деякі константні дані, а графіках — функції синус і косинус.
Для завдання значень необхідно використовувати методи серій Series. Зупинимося лише з трьох основних методах.
Спосіб Clear очищає серію від занесених раніше даних.
дозволяє додати до діаграми нову точку. Параметр AValue відповідає значення, що додається, параметр ALabel - назва, яка буде відображатися на діаграмі і в легенді, AColor - колір. Параметр ALabel не обов'язковий, його можна задати порожнім: ''.
дозволяє додати нову точку до графіка функції. Параметри AXValue та AYValue відповідають аргументу та функції. Параметри ALabel і AColor самі, що у методі Add.
Таким чином, процедура, що забезпечує завантаження даних у нашому прикладі, може мати вигляд:
Цю процедуру можна включити в обробку натискання будь-якої кнопки, в команду меню або просто в подію OnCreate форми. Оператори Clear потрібні, якщо під час роботи програми ви збираєтеся оновлювати дані. Без цих операторів повторне виконання методів Add і AddXY лише додасть нові точки, не видаливши колишні.
Якщо ви передбачили, наприклад, для даних, що відображаються в діаграмі, дві серії Series1 і Series4 різних видів - Pie і Bar, то можете ввести процедуру, що змінює на вимогу користувача тип діаграми. Цю процедуру можна ввести в подію OnClick якої-небудь кнопки, команду меню або, наприклад, просто в обробку клацання на компоненті Chart. Для того, щоб завантажити дані в Series4 і зробити цю діаграму в перший момент невидимою, можна вставити наприкінці наведеної раніше процедури оператори
Перший із цих операторів переписує дані, поміщені в Series1, у серію Series4. А другий оператор робить невидимою серіюSeries4. Зміна типу діаграми здійснює процедура