
Компонент Char 16 Компоненты для построения графиков и диаграмм Компонент Chart
Компонент TChart является панелью, на которой можно создавать диаграммы и графики различных типов. Компонент Chart управляет координатными осями и формой отображения.
Отображаемые данные содержатся в объектах Series типа TChartSeries. Для каждого компонента Chart можно указать несколько серий. Если должны отображаться графики, то каждая серия соответствует одной кривой на графике. Если должны отображаться диаграммы, то для некоторых видов диаграмм можно наложить друг на друга несколько различных серий, для других (например, для круговых диаграмм) это, вероятно, будет выглядеть некрасиво. Однако и в этом случае можно задать для одного компонента Chart несколько серий одинаковых данных с разным типом диаграммы. Тогда, делая в каждый момент времени активной одну из них, вы можете предоставить пользователю выбор типа диаграммы, отображающей интересующие его данные.
Пример приложения, отображающего графики синуса и косинуса
В дальнейшем мы рассмотрим большинство свойств и методов как компонента Chart, так и объектов Series. А пока посмотрим, как построить простейшее приложение, отображающее графики, например, графики синуса и косинуса (рис. 1). Разместите на форме компонент Chart, задайте в его свойстве Align значение alClient и сделайте двойной щелчок на этом компоненте. Перед вами откроется окно Редактора Диаграмм Chart (рис. 2). Оно имеет две основные страницы: Chart — задание общих настроек компонента, и Series — настройка свойств отдельных серий. Каждая из этих страниц в свою очередь имеет ряд закладок. Позднее мы рассмотрим большинство этих закладок, а пока остановимся на закладке Series страницы Chart (рис. 2).
Рис. 1. Простейшее приложение с графиками.
Рис. 2 Окно Редактора Диаграмм Chart
Кнопка Add позволяет добавить новую серию. Нажав ее, вы попадете в окно, в котором вы можете выбрать тип диаграммы или графика. В данном случае выберите Line — обычный кусочно-линейный график. С помощью кнопки Title в окне рис. 2 а вы можете задать какое-то осмысленное имя серии (для примера рис. 1 эти имена — «синус» и «косинус»). Задавать имена полезно, если у вас много серий, и вы начинаете путаться в их именах по умолчанию, мучительно вспоминая, что такое серия Series 1, а что такое Series4. Воспользовавшись закладкой Titles, вы можете задать заголовок и подпись диаграммы («Синус и косинус» и «Пример простого графика»), закладка Legend позволяет задать параметры отображения легенды диаграммы (списка обозначений) или вообще убрать ее с экрана, закладка Panel определяет вид панели, на которой отображается диаграмма, закладка 3D дает вам возможность изменить внешний вид вашей диаграммы: наклон, сдвиг, толщину и т.д. Поскольку пока мы хотим строить нормальный деловой график, полезно открыть эту закладку и выключить на ней индикатор 3 Dimentions.
В процессе ввода всей этой несложной информации в компоненте Chart, размещенном на вашей форме, отражается общий вид графиков с некоторыми случайными данными. Так что вы сразу можете видеть результаты проводимой вами настройки внешнего вида графиков.
Теперь осталось написать операторы, задающие точки графика. Это можно сделать в обработчике события формы OnCreate. Для нашего примера код этого обработчика может иметь вид:
procedure TForm1.FormCreate(Sender: TObject);
var i: integer;
begin
for i:=0 to 100 do
begin
Series1.AddXY(0.1*i,sin(0.1*i),'', clRed) ;
Series2.AddXY(0.1*i,cos(0.1*i),'',clBlue);
end
end;
Значения, которые должны отображаться на графиках, заносятся в серии Seriesl и Series2 методом AddXY. Первый параметр этого метода — значение аргумента, второй — значение функции в этой точке. Третий параметр, который в данном примере мы оставили в виде пустой строки — это обозначение (надпись) соответствующей точки. На графиках, естественно, оставлять этот параметр пустым. А для диаграмм, как мы увидим позднее, он имеет смысл. Последний параметр метода — цвет графика.
Выполните данное приложение и посмотрите его в работе. Вы увидите картину, показанную на рис. 1. Масштаб по осям графиков компонент Chart выбрал автоматически. Вам не пришлось об этом заботиться. В компоненте заложено еще много возможностей, которые автоматически реализовались в вашем графике. Нажмите в пределах площади графика левую кнопку мыши и потяните курсор вниз и вправо, выделяя на графике некоторую прямоугольную область, начиная с ее верхнего левого угла. Когда вы отпустите кнопку мыши, выделенная вами область растянется на все поле графика, и вы сможете в деталях посмотреть выделенный фрагмент графика. Если теперь вы нажмете правую кнопку мыши и начнете перемещать курсор в поле графика, то увидите, что график будет смещаться. Таким способом вы сможете в крупном масштабе посмотреть его различные области. Если вы хотите вернуться к прежнему масштабу, позволяющему смотреть весь график, проведите курсором при нажатой левой кнопке мыши рамку вверх и влево. Масштаб восстановится.