Анотація: На цій лекції ви познайомитеся з компонентом DBChart, призначеним для створення графіків і діаграм. Вивчіть основні методи і властивості цього компонента, навчитеся програмно змінювати зовнішній вигляд графіків.
Для побудови графіків і діаграм використовуються компоненти Chart з вкладки Additional. і DBChart з вкладки Data Controls палітри компонентів. Це рівноцінні компоненти, відмінність полягає в тому, що DBChart приймає дані з вказаного набору даних - таблиці або запиту, а при використанні Chart дані доводиться вносити самостійно.
Це досить складні компоненти, вони мають безліч властивостей, які в свою чергу самі є складними об'єктами. Якщо описувати компоненти графіків і діаграм докладно, то вийде невелика книга, тому ми розглянемо лише основні прийоми роботи з ними.
Просте додаток до графіка
Графіки застосовуються там, де потрібно показати динаміку підйому або спаду одного або декількох об'єктів. Хорошим прикладом є графік з кривими, що демонструють динаміку змін курсів долара і євро до рубля. Діаграми ж застосовуються для демонстрації порівняльних показників різних об'єктів. Так, наприклад, під час передвиборної кампанії часто демонструють діаграму, де стовпчики різного зростання показують, хто з кандидатів набрав більше голосів. Кругові діаграми показують порівняльне відношення кожного об'єкта до цілого, наприклад кругова діаграма. показує відсоток депутатів кожної партії від загальної кількості депутатів.
Познайомимося з роботою компонента DBChart на практиці. Для прикладу нам знадобиться база даних з однією таблицею, в яку ми запишемо курси долара і євро до рубля. Таблицю ви можете зробити будь-якій - Paradox або MS Access. в таблиці створіть три поля: CDate. CDollar і CEvro. Саму таблицю назвіть Curs. Заповніть таблицю довільними даними, роблячи по запису на кожен день, нехай в таблиці буде не менше 10 записів. Дані не обов'язково повинні відповідати дійсності, але постарайтеся зробити їх схожими на реальний курс долара США і євро до рубля, наприклад:
Заповнивши таблицю, підключіть її до нового проекту, використовуючи технологію BDE або ADO. і відразу ж переведіть в True властивість Active компонента TTable (TADOTable).
Натисніть кнопку Add (додати серію). У вас з'явиться вікно вибору графіка:
Мал. 13.2. Вікно вибору графіка.
Мал. 13.3. Нова серія
Мал. 13.4. Підключення серії до таблиці
Далі перейдіть на вкладку Chart і додайте ще одну серію. Зробіть все одно, тільки відобразите курс євро. Ми отримали не дуже вражаючий графік:
Мал. 13.5. Графік курсів долара і євро
Дивимося, які вкладки тут ще є. Самою останньою є вкладка 3D. на якій можна включити або виключити об'ємність графіка. а також відрегулювати обертання, нахил або масштаб.
На вкладці Walls (стіни) можна відрегулювати "стіни" осей, на малюнку 13.5 вони виділяються жовтим і білим кольорами.
Вкладка Paging дозволяє налаштувати багатосторінкові графіки, а вкладка Panel - задати параметри фону. Цікаві тут параметри панелі Gradient. що дозволяють задати градієнтну заливку. При цьому фон буде плавно переходити з одного кольору в інший.
Вкладка Legend дозволяє налаштувати легенду графіка. на малюнку ви бачите її в правій частині графіка з написами "Долар" і "Євро".
Перейдемо на вкладку Axis (осі). Тут ми можемо зробити безліч налаштувань осей. Спочатку в лівій частині вікна в розділі Axis потрібно вибрати вісь. Ми виберемо Left. тобто, вісь Y. Праворуч знаходиться додаткове вікно зі своїми власними вкладками, причому відкрита вкладка Scales (шкали):
Мал. 13.6. Налаштування осей графіка
Тут ми знімемо "галочку" Automatic. яка автоматично встановлює розмір шкали. У більшості випадків цього не потрібно, але в нашому прикладі ми отримали відносно рівні лінії, причому одна з них в нижній, а інша - у верхній частині, що не чинить графік красивіше. Отже, зніміть цю галочку, а потім за допомогою кнопок Change трохи збільште максимальне значення. і трохи зменшіть мінімальне. В результаті криві графіка зрушаться до середини.
Далі можете перейти на внутрішню вкладку Title. де напишіть "Курс рубля". Цей напис є заголовком осі Y. Більше, мабуть, з цією віссю робити нічого не потрібно. Зате вісь X у нас замість дат показує значення. Виправимо це. У групі радіокнопок Axis виберемо Bottom (нижня вісь), і перейдемо на внутрішню вкладку Labels. У розділі Style замість Auto виберемо Value. що змінить написи до точок осі X. замість призначуваних автоматично, ми чітко вказали, що потрібно взяти значення поля, тобто, дату. В результаті цих маніпуляцій ми отримаємо вже досить привабливий графік:
Мал. 13.7. Графік курсів валют
Збережіть проект, скомпілюйте і завантажте отриману програму. Подивимося, що вміє робити цей графік в робочому додатку. Перш за все, якщо ви виділите якийсь ділянку графіка лівою кнопкою миші зліва-направо і зверху-вниз, виділений фрагмент збільшиться в усі вікно графіка. Вхопившись за графік правою кнопкою миші, його можна буде переміщати. Потім ви можете зробити зворотне виділення лівою кнопкою будь-якого ділянки графіка знизу-вгору і праворуч-ліворуч, і масштаб графіка відновиться.
Змінити масштаб програмно можна за допомогою властивості Zoom об'єкта View3DOptions графіка:
Це ціле число. що містить відсоток масштабу. Значення 100 відповідає нормальному масштабу. Спробуйте змінювати масштаб від 1 до 500.