Побудова графіка функції в середовищі програмування delphi використовуючи компонент Chart

При створенні delphi-проектів, які реалізують розглядувані на даному сайті чисельні методи, доволі часто виникає необхідність виводу графічного представлення певної функції. Наприклад, при програмній реалізації знаходження екстремума функції, ми здійснювали побудову графіка даної функції, і таким чином виконували перевірку правильності роботи того чи іншого методу. Алгоритм побудови графіка функції на канві форми, було розглянуто за посиланням Побудова графіка функції в середовищі програмування delphi. Согодні розглянемо дещо простіший спосіб, який базується на використанні спеціального компонента для виведення готовиг графічних зображень, а саме компонент Chart. Зокрема, даний компонент (знаходиться на закладці Additional палітри компонентів delphi) дозволяє будувати різноманітні діаграми та графіки.

Компонент Chart є контейнером об'єктів, які є нащадками класу TChartSeries. Кожен такий об'єкт являє собою серію даних, яка характеризуються певним видом відображення — графіком або діаграмою. Кожен компонент Chart може включати в себе кілька таких серій. Якщо користувач відображає графік, то кожній серії буде відповідати одна крива на графіку. При здійсненні побудови діаграм можна накласти один на одного кілька серій, але, наприклад, для кругових діаграм, ця ідея буде здаватись не досить вдалою. В такому випадку, можна задати для одного компонента кілька серій однакових даних з різним типом діаграми. У кожен момент часу користувач може зробити активною одну з діаграм, вибираючи тим самим більш наочний тип діаграми.

Перрахуємо основні властивості компонента Chart.

  1. AllowPanning — надає можливість, з допомогою правої кнопки миші, прокручувати спостережувану частину графіка під час виконання програми. Для даної властивості можливі наступні значення: pmNone — прокрутка заборонена, pmHorizontal, pmVertical або pmBoth — дозволена прокрутка відповідно тільки в горизонтальному, вертикальному, в обох напрямках.
  2. AllowZoom — дозволяє користувачеві змінювати під час виконання програми масштаб зображення, вирізаючи фрагменти діаграми або графіка курсором миші. Якщо рамка фрагмента малюється в право і вниз, то цей фрагмент розтягується на все поле графіка. Якщо ж рамка малюється в верх і в ліво, то відновлюється вихідний масштаб зображення.
  3. Title — визначає заголовок діаграми.
  4. Foot — задає підпис під діаграмою (за замовчуванням відсутня). Текст підпису визначається під властивістю Text.
  5. Frame — визначає рамку навколо діаграми.
  6. Legend (легенда діаграми) — список позначень.
  7. MarginLeft, MarginRight, MarginTop, MarginBottom — задають значення лівого, правого, верхнього і нижнього полів.
  8. BottomAxis, LeftAxis, RightAxis — визначають характеристики нижньої, лівої, правої осей. Задання даних властивостей має сенс лише для графіків і деяких типів діаграм.
  9. LeftWall, BottomWall, BackWall — визначають характеристики лівої, нижньої і задньої граней області тривимірного відображення графіка.
  10. SeriesList — список серій даних, що відображаються компонентом.
  11. View3d — дозволяє або забороняє тривимірне відображення діаграми.
  12. View3DOptions — характеристики тривимірного відображення.

Установка властивостей діаграм проводиться за допомогою редактора діаграм. Отримати доступ до редактора діаграм можна кількома способами. Виклик тієї чи іншої сторінки редактора може бути здійснений, по-перше, натисканням на кнопки, які розташовані поруч з властивостями в інспекторі об'єктів, по-друге, подвійним клацанням миші по компоненту Chart, по-третє, клацанням по ньому правою кнопкою миші і вибором команди EditChart у спливаючому меню.

Для побудови графіка (діаграми) за допомогою компонента Chart необхідно зробити подвійне клацання на значку цього компонента. Після цього відкривається вікно редактора діаграм, що має кілька закладок. Насам перед, користувач повинен звернутися до закладки Series. Виконавши клацання мишею по кнопці Add, користувач додасть серію. Потім користувач потрапить у вікно вибору типу діаграми. Вибір закладки Titles дозволяє задати заголовок діаграми, закладки Legend — параметри відображення легенди або прибрати її з екрану.

Закладка 3D дозволяє змінювати зовнішній вигляд діаграми: задати нахил, зрушення, товщину і так далі. Закладка Panel визначає вид панелі, на якій відображається діаграма.

При роботі з редактором діаграм на формі відображається вид діаграми з занесеними в неї умовними даними. Це дає можливість користувачеві відразу бачити результат застосування різних опцій.

Сторінка Series дає можливість вибрати додаткові характеристики відображення серії. Для кругової діаграми можна, наприклад, на закладці Format вказати опцію CircledPie, яка забезпечить при будь-якому розмірі відображення діаграми у вигляді кола. На закладці Marks кнопки групи Styles визначають, що буде написано на ярликах, що відносяться до окремих сегментів діаграми: Value — значення, Percent — відсотки, Label — назви даних. Закладка General дозволяє встановити шаблон виводу значень.

Після закінчення проектування зовнішнього вигляду діаграми необхідно вийти з редактора діаграм і написати код програми, який задає відображувані дані. Для завдання відображуваних даних слід використовувати методи об'єктів Series: метод Clear очищає серію від занесених раніше даних; метод Add дозволяє додати в діаграму нову точку:

Add (const Avalue: Double; const Alabel: String; Acolor: Tcolor)

Параметри методу мають таке призначення: Avalue — значення точки, яка добавляється; Alabel — мітка, яка відображається на діаграмі і в легенді; Acolor — колір сектора діаграми. Параметр Alabel можна задати у вигляді порожнього рядка, при цьому на діаграмі мітка буде відсутній.

Метод AddXY дозволяє додати нову точку в графік функції:

AddXY (const AXValue, AYValue: Double; const Alabel: String; Acolor: Tcolor)

Параметри методу мають таке призначення: AXValue та AYValue — значення аргументу і функції точки, яка добавляється, параметри Alabel, Acolor мають той же сенс, що і в попередньому методі.

Як приклад розглянемо процес побудови графіка функції використовуючи компонент Chart. Для цього, створимо новий delphi-проект, і розмістимо на формі даний компонент. Далі, одним з переррахованих вище способів, запустимо редактор діаграм і створимо одну криву типу Fast Line. На вкладці Chart перейдемо до вкладки 3D і зробивши властивість 3 Dimension неактивною, відключимо тривимірне відображення графіка. Далі, з допомогою властивості Legend, відключимо легенду після чого, з допомогою властивості Title встановимо заголовок графіка рівним «Синусоїда».

grafik_fukcii_chart1

Інтерфейс delphi-проекту "Побудова графіка функції використовуючи компонент Chart"

На наступному кроці, з допомогою обробника події OnCreate форми Form1, опишемо функцію, з допомогою якої буде здійснюватись побудова графіка.

procedure TForm1.FormCreate(Sender: TObject);
var
xmin, xmax, h, x, y: real;
n: integer;
begin
xmin := −3; // Мінімальне значення аргументу
xmax := 3; // Максимальне значення аргументу
n := 100; // Кількість точок графіка
h := (xmax — xmin)/n; // Крок зміни аргументу
x := xmin; // Значення аргументу в точці x0
while (x <= xmax) do
begin
y := Sin(x); // Значення функції в точці x0
Series1.AddXY(x, y); // Добавлення в графік функції точки (xi; yi)
x := x + h; // Значення аргументу в точці xi
end;
end;

Запустивши проект на виконання отримаємо:

Графік функції на delphi

Робота delphi-проекту "Побудова графіка функції використовуючи компонент Chart"

Скачати delphi-проект Побудова графіка функції використовуючи компонент Chart.

Матеріал був корисним, поділись в соціальних мережах:

Якщо тобі сподобалась дана тема, залиш свій коментар