Нижче я привожу скріншот, як виглядали мої дані в TStringGrid.
Для того, щоб отримати щось схоже, нам спочатку необхідно буде впорядкувати наші дані. На формі у мене такі компоненти
TStringGrid я налаштував наступним чином, у властивостях я вказав:
Тепер трохи налаштуємо TChart. необхідно для початку нам вибрати тип графіка. Натискаємо подвійним клацанням миші по компоненту TChart і переходимо у вкладку Series і в даній вкладці натискаємо на кнопку Add. Після чого з'явиться список всіх доступних графіків, в нашому випадку я вибрав найперший тип графіка (лінійний) - Line. Якщо хочете зробити якісь інші настройки, то будь ласка, на інших вкладках це можна зробити.
Після того, як ми налаштували наші 2 компонента, нам тепер необхідно придумати умова, за яким будуть зафарбовувати наші осередки і будуватися графік. Як я вже говорив в програмі XYZ. я робив певні розрахунки і відносив їх в потрібні групи, перед цим спершу сортував їх. Нехай, значення від 1 до 10 зафарбовуються в червоний, від 11 до 20 в жовтий колір, а від 21 до нескінченності в зелений колір. Тепер, як і в минулій статті, ми напишемо умова, за яким будемо зафарбовувати комірки. На подію OnDrawCell напишемо наступний код:
Ми вже розбирали даний код, як відбувається зафарбовування, тому тут зупинятися не будемо. Після того як у нас сформовано умова, за яким ми зафарбовуємо осередки в певний колір, тепер як я і говорив, нам необхідно всі ці дані впорядкувати. Візьмемо найпростіший спосіб сортування - мінімальним елементом. Ось так ми відсортуємо дані в TStringGrid по зростанню:
Всі змінні, що використовуються в даному коді мають тип integer
Дані у нас готові, відсортовані, тепер нам необхідно просто-напросто побудувати за тими ж даними графік і на певних проміжках зафарбувати графік, що задовольняє певній умові, в потрібний нам колір. Для цього ми організуємо цикл, і в даному циклі ми також будемо перевіряти наша умова, і встановлювати колір графіку, в результаті у мене вийшло щось схоже, весь код з сортуванням:
Тут можна було обійтися і без таких умов, а організувати потрібні нам цикли. Ось весь код, який спершу сортує дані, а потім по ним будує графік.
Ну і в кінцівці, зробимо небільше настройки для TChart. для цього ми і встановлювали на форму TCheckBox. Один TCheckBox відповідатиме за 3D-графік, а другий за наявність нашої легенди. Ось код, який відповідає за 3D-графік: