Оси диаграммы представляют собой линии с метками. Двухмерные диа-
граммы имеют ось значений и ось категорий, а трехмерные — еще и ось
ряда данных. Оси предназначены для более наглядного отражения содер-
жимого диаграммы. Вся информация об осях содержится в коллекции Axes
объекта Chart. Понятно, что эта коллекция может содержать не более трех
элементов-осей. Элемент коллекции Axes представляет собой объект Axis,
объединяющий в себе все свойства выбранной оси. Для выбора объекта Axis
из коллекции осей используется метод Item(i). Аргумент i метода пред-
ставляет собой числовую константу, выбранную из трех возможных
(xlCategory=l, xlValue=2, xlSeriesAxis=3). Соответственно мы можем полу-
чить ссылку на один из объектов: ось категорий, ось значений или ось ряда
данных.
Рассмотрим свойства выбранной оси. Каждая ось может содержать заголо-
вок (название), метки оси, основные и промежуточные линии сетки. Все
эти элементы имеют такие свойства, как цвет, тип и толщина линий, залив-
ка, ширина меток и шрифт текста. Кроме того, можно удалить или отобра-
зить выбранную ось. Для этого используется свойство HasAxis(i) объекта
Chart. Например, оператор
Chart.HasAxis(xlValue):=True;
отобразит, а оператор
Chart.HasAxis(xlValue):=False;
скроет ось значений. Сама ось значений имеет такие же свойства, как
обычная линия, их можно настраивать; доступ к ее свойствам осуществля-
ется посредством объекта Axis. Border.
Доступ к заголовку оси осуществляется посредством объекта Axis.AxisTitle.
Заголовок оси состоит из линии границы, заливки и текста. Поэтому у объ-
екта AxisTitle есть свойства Border, Interior, Fill, Caption и Font, связанные
с соответствующими визуальными элементами заголовка.
Метки оси представляют собой текст, отображающий соответствующее зна-
чение. Доступ к свойствам меток осуществляется посредством объекта
TickLabels, принадлежащего объекту Axis. Свойства NumberFormat, Orientation,
Font объекта TickLabels позволяют задавать формат, направление и
шрифт текста меток.
Ось имеет основные и промежуточные линии сетки, доступ к которым осу-
ществляется посредством свойств MajorGridlines и MinorGridlines объекта
Axis. Эти свойства сами представляют собой объекты, обладающие свойст-
вом линии (Border). Показать/скрыть линии сетки позволяют свойства
HasMajorGridlines и HasMinorGridlines объекта Axis.
Линия оси также может содержать линии основных и промежуточных ме-
ток. Тип этих линий определяется путем записи числовых констант в свой-
ства MajorTickMark и MinorTickMark объекта Axis.
Выберем ось значений и настроим ее свойства с помощью следующих про-
цедур.
Задание свойств оси значений
procedure TForm1. BorderAxesClick(Sender: TObject);
var Axis, Border:variant;
begin
Axis:=Chart.Axes.Item(xlValue); // Получаем доступ к оси значений
Border:=Axis.Border; // Получаем доступ к линии оси значений
Border.Color:=RGB(200,0,0); // и настраиваем ее свойства
Border.Weight:=4;
end;
// Показываем заголовок оси значений, получаем доступ
// к нему и настраиваем его свойства
procedure TForml.HasTitleClick(Sender: TObject);
var AxisTitle:variant;
begin
Axis.HasTitle:=True;
AxisTitle :=Axis. AxisTitle;
AxisTitle.Border.Color:=RGB(0,200,200);
AxisTitle.Interior.Color:=RGB(200,200,0);
AxisTitle.Caption:='Значения';
AxisTitle.Font.Size:=24;
end;
// Получаем доступ к меткам делений оси и настраиваем их свойства
// (шрифт, формат числовых меток и направление текста (угол))
procedure TForml.ButtonlClick(Sender: TObject);
var TickLabels:variant;
begin
TickLabels:=Axis.TickLabels;
TickLabels.Font.Size:=20 ;
TickLabels.NumberFormat:='$0000';
TickLabels.Orientation:=0;
end;
// Получаем доступ к меткам делений оси и настраиваем их свойства
// (толщину и цвет основных линий меток)
procedure Tforml.HasMajorGridlinesClick(Sender: TObject);
var MajorGridlines:variant;
begin
Axis.HasMajorGridlines:=True;
Axis.HasMinorGridlines:=False;
MajorGridlines:=Axis.MajorGridlines;
Maj orGridlines.Border.Weight:=2 ;
MajorGridlines.Border.Color:=GRB(0,0,0);
end;
// Показываем линии основных и промежуточных меток.
procedure TForml.Button2(Sender: TObject);
const
xlTickMarkCross=4;
xlTickMarkInside=2;
begin
Axis.MajorTickMark:=xlTickMarkCross;
Axis.MinorTickMark:=xlTickMarkInside;
end;
Результат всех этих преобразований может иметь вид, показанный на
рис. 14.14.
|