14.2. Построение графиков с помощью компонента tChart
Обычно результаты расчетов представляются в виде графиков и диаграмм. Среда Delphi имеет мощный пакет стандартных программ вывода на экран и редактирования графической информации, который реализуется с помощью визуально отображаемого на форме компонента TChart.
Построение графика (диаграммы) производится после вычисления таблицы значений функции y=f(x). Полученная таблица передается в специальный двумерный массив ChartI.SeriesList[k] (k — номер графика (0,1,2. )) компонента TChart с помощью метода AddXY. Компонент TChart осуществляет всю работу по отображению графиков, переданных в объект ChartI.SeriesList[k]: строит и размечает оси, рисует координатную сетку, подписывает название осей и самого графика, отображает переданную таблицу в виде всевозможных графиков или диаграмм. При необходимости, с помощью встроенного редактора EditingChart компоненту TChart передаются данные о толщине, стиле и цвете линий, параметрах шрифта подписей, шагах разметки координатной сетки и другие настройки. В процессе работы программы изменение параметров возможно через обращение к соответствующим свойствам компонента TChart. Так, например, свойство Chartl.BottomAxis содержит значение максимального предела нижней оси графика. Перенести график в отчет можно через буфер обмена, используя процедуру ChartI.CopyToClipboardMetafile(True).
Примеры. Построить графики функций sin(x) и cos(x) с помощью компонента chart. Текст и форма проекта приведены ниже.
V Form 1 НЁМ
unit Unit1; Листинг 14.1
uses Windows,Messages,SysUtils,Variants,Classes, Graphics,Controls,Forms,Dialogs,StdCtrls,TeEngine, Series, ExtCtrls, TeeProcs, Chart, Buttons;
Series1: TLineSeries; Series2: TLineSeries; Button1: TButton; BitBtn1: TBitBtn;
procedure Button1Click(Sender: TObject); private
Form1: TForm1; f:file of extended; implementation
procedure TForml.ButtonlClick(Sender: TObject); var k:integer; // Нарисовать x,y,z:extended;
for k:=0 to l00 do
Вывести на форму некоторые простейшие фигуры и текст.

unit Unitl; Листинг l4.2
Windows,Messages,SysUtils,Variants,Classes,Graphics, Controls,Forms,Dialogs,StdCtrls,Buttons; type
Simple steps to create Delphi chart
This Delphi graphic tutorial demonstrates how to create a simple charts using TChart component.
Bookmark:
Simple steps to create Delphi chart
Use following simple steps to start your first chart using Delphi TChart component:
- Put chart component on the form
- Double click on chart, then you will see chart editing dialog box.
- Click add button in series tab sheet.
- Select the chart style from the list (Line, Bar, Pie ..)

Put following code to add data into the chart
Download This Delphi Tutorials.
Download materials for this article (Delphi — Tutorials)
delphi-chart.zip
File size: 5 KB, File type: zip
Total downloads: 7756, Upload date: February 11 — 2009
YES, I accept the Terms and Conditions and I acknowledge that I have reviewed and understood the agreement.
Luis :: February 20-2009 :: 01:31 AM
Hello, Would you please give me some hints on how to allow a user to choose a chart style, I mean I need a code for example i can select combobox and type 3 options to plot a chart.
Sibusiso :: March 10-2009 :: 01:34 PM
How to make the chart to be visible in intraweb
Widakdov :: November 09-2009 :: 08:49 AM
Dear digital coding ,
How to create a simulated chart using delphi
meng :: April 12-2010 :: 04:29 AM
very good very good very good very good.
Narcís Calvet :: April 12-2010 :: 03:06 PM
This code can be simpler:
You can even replace Chart1[0] (first series in the SeriesList collection in the chart) for Series1, for example:
Series1.AddXY(10, 20);
Series1.AddXY(15, 50);
Series1.AddXY(20, 30);
Series1.AddXY(25, 70);
Series1.AddXY(30, 10);
Series1.AddXY(35, 50);
Series1.AddXY(40, 45);
Series1.AddXY(45, 10);
carol paola galvis :: April 26-2010 :: 03:33 PM
si gracias por el tutorial
Piet :: December 02-2010 :: 10:59 PM
Is it also possible to create a chart, adding a label as a marker to specific data points but not showing the label on the horizontal axes?
For instance:
X: 0 to 100
Y: random
Show X-values on BottomAxis, Y-Values on VertAxis and three labels (markers) on X=23, X=57, X=71
stephen :: January 08-2011 :: 11:51 PM
I have a problem where AddXY doesn’t plot the points during an iteration but as soon the iterations arte finished it blurts out everything. Stepping into the program all the recording of the data at each iteration is fine i.e. X and Y.
so it seems like a refresh. repaint, update issue? i’ve tried using for loops to slow things down and use the chart1.refresh etc commands but no joy. I need real time monitering of X and Y. Have you any ideas how i could do this?
it would be appreciated,
c.g :: February 18-2011 :: 09:30 PM
I am using delphi 3 and cannot get your code to work at all, any suggestions. Thanks
Построение графиков функций в Delphi
Компонент TChart может строить самые различные графики и диаграммы.
Рассмотрим задачу построения графика на примере синусоиды (y=sin(x)).
Данные для построения графика представляют собой набор точек (X,Y). Поэтому для того чтобы его сформировать необходимо вычислить значение функции для каждой точки того диапазона, в котором требуется построить график.
Местоположение промежуточных точек рассчитывается как положение предыдущей точки плюс некоторый интервал (шаг). Для первой промежуточной точки предыдущей точкой является граница диапазона.
Построим график синусоиды для диапазона от 0 до 2π.
Вначале создадим ряд данных компонента TChart, который, собственно, и будет отображать график, а также зададим нижнюю границу диапазона и шаг.