|
Определяет серию диаграммы TChart, отображаемую в виде вертикальных полос.
Создание объекта
srsObj=new TBarSeries(chrObj);
Собственные свойства
|
Свойство
| Тип
| Описание
|
AutoBarSize
| Boolean
| автоматически рассчитывать ширину полосы на основе ее минимального и максимального значений
|
AutoMarkPosition
| Boolean
| автоматически смещать метки серии в случае их перекрытия
|
BarBrush
| TChartBrush
| кисть, используемая для заполнения полосы
|
BarPen
| TChartPen
| перо, используемое для внешней окантовки полосы
|
BarStyle
| Enum
| стиль (форма) полосы (см. ниже)
|
BarWidthPercent
| Number
| ширина полосы в процентах от максимальной (при которой полосы соединяются друг с другом)
|
BevelSize
| Number
| величина эффекта выпуклости для значения свойства BarStyle=bsRectangle
|
ConePercent
| Number
| величина эффекта конуса для значения BarStyle=bsCone, %
|
CustomBarWidth
| Number
| фиксированная ширина полос, px
|
Dark3D
| Boolean
| отображать полосу с более темной верхней и правой стороной (для трехмерного режима отображения диаграммы)
|
DarkPen
| Number
| степень сходства цвета внешней окантовки полосы с цветом ее внутреннего заполнения (значение в диапазоне [0-255])
|
DepthPercent
| Number
| глубина отображения полос при трехмерном режиме отображения диаграммы, %
|
MultiBar
| Enum
| стиль совместного отображения полос при размещении на диаграмме нескольких серий типа TBarSeries (см. ниже)
|
OffsetPercent
| Number
| смещение изображения серии вдоль опорной оси, %
|
Shadow
| TChartShadow
| тень от элементов серии
|
SideMargins
| Boolean
| отделять отступами первую и последнюю полосы от краев диаграммы (по умолчанию отступы равны половине суммы ширины всех полос)
|
TickLines
| TChartPen
| перо, используемое для отрисовки на полосах линий межосевой сетки
|
Transparency
| Number
| прозрачность полосы, %
|
UseYOrigin
| Boolean
| выровнять опорный край полос по значению свойства YOrigin
|
YOrigin
| Boolean
| значение для выравнивания опорного края полос (при значении свойства UseYOrigin=true)
|
Только чтение
| [TYPE]
| [DESC]
|
BarWidth
| Number
| текущая ширина полос, px
|
Наследуемые от класса TChartSeries
| [TYPE]
| [DESC]
|
Active
| Boolean
| активность серии
|
Color
| TColor
| цвет элементов серии
|
ColorEachPoint
| Boolean
| отображать элементы серии разными цветами
|
Cursor
| Enum
| курсор мыши, отображаемый на элементах серии (см. ниже)
|
CustomHorizAxis
| TChartAxis
| пользовательская горизонтальная ось, привязанная к серии
|
CustomVertAxis
| TChartAxis
| пользовательская вертикальная ось, привязанная к серии
|
Depth
| Number
| размер элементов серии по глубине (при трехмерном отображении диаграммы)
|
HorizAxis
| TChartAxis
| горизонтальноая ось (верхняя или нижняя), по которой будет масштабироваться серия по горизонтали
|
Marks
| TSeriesMarks
| серия маркеров, связанных с точками серии
|
ParentChart
| TChart
| компонент TChart, связанный с серией
|
PercentFormat
| String
| стандартный спецификатор строки форматирования процентных меток
|
SeriesColor
| TColor
| цвет элементов серии
|
ShowInLegend
| Boolean
| отображать серию в легенде
|
Title
| String
| строка заголовка серии
|
ValueFormat
| String
| стандартный спецификатор строки форматирования C++ Builder/Delphi, используемый для вывода маркеров серии и осевых меток
|
VertAxis
| TChartAxis
| вертикальная ось (левая или правая), по которой будет масштабироваться серия по вертикали
|
XLabel[]
| String
| индексированный массив горизонтальных меток (маркеров)
|
Только чтение
| [TYPE]
| [DESC]
|
FirstValueIndex
| Number
| индекс первой точки в серии, значение X которой находится между максимальным и минимальным значениями по горизонтальной оси, или -1 (если такой точки нет)
|
GetHorizAxis
| TChartAxis
| горизонтальноая ось серии
|
GetVertAxis
| TChartAxis
| вертикальная ось серии
|
LastValueIndex
| Number
| индекс последней точки в серии, значение X которой находится между максимальным и минимальным значениями по горизонтальной оси, или -1 (если такой точки нет)
|
XValue[]
| Number
| индексированный массив горизонтальных значений точек
|
YValue[]
| Number
| индексированный массив вертикальных значений точек
|
ZOrder
| Number
| позиция серии по глубине (при трехмерном отображении диаграммы)
|
|
Свойство BarStyle
|
bsArrow
| стрелка вверх
|
bsInvArrow
| стрелка вниз
|
bsBevel
| выпуклый прямоугольник
|
bsCilinder
| цилиндр
|
bsCone
| bsBevel
|
bsInvCone
| конус вниз
|
bsDiamond
| ромб
|
bsEllipse
| эллипс
|
bsPyramid
| пирамида
|
bsInvPyramid
| пирамида вниз
|
bsRectangle
| прямоугольник (значение по умолчанию)
|
bsRectGradient
| прямоугольник с вертикальной градиентной заливкой
|
bsSlantCube
| наклонный куб
|
|
Свойство MultiBar
|
Значение
| Описание
|
mbNone
| без совмещения
|
mbSide
| боковое совмещение
|
mbStacked
| совмещение стопкой
|
mbStacked100
| совмещение стопкой в процентах
|
mbSideAll
| последовательное совмещение серий
|
mbSelfStack
| сложение точек каждой серии друг в друга
|
|
Свойство Cursor
|
Значение
| Стандартное изображение
|
crAppStart
|
|
crArrow
|
|
crCross
|
|
crDefault
|
|
crDrag
|
|
crHandPoint
|
|
crHelp
|
|
crHourGlass
|
|
crHSplit
|
|
crIBeam
|
|
crMultiDrag
|
|
crNo
|
|
crNoDrop
|
|
crNone
| нет курсора
|
crSizeAll
|
|
crSizeNESW
|
|
crSizeNS
|
|
crSizeNWSE
|
|
crSizeWE
|
|
crUpArrow
|
|
crVSplit
|
|
|
Стандартные свойства
Собственные методы
|
Метод
| Описание
|
AddBar
| добавляет к серии новую полосу
|
Наследуемые от класса TChartSeries
| [DESC]
|
Add
| добавляет к серии новую точку с указанным значением по оси Y
|
AddX
| добавляет к серии новую точку с указанным значением по оси X
|
AddY
| добавляет к серии новую точку с указанным значением по оси Y
|
AddXY
| добавляет к серии новую точку с указанными значениями по осям X и Y
|
BeginUpdate
| предотвращает многократную перерисовку экрана при добавлении или изменении множества точек серии
|
Clear
| удаляет все точки серии
|
Delete
| удаляет указанную точку серии
|
EndUpdate
| перерисовывает экран при добавлении или изменении множества точек серии
|
FillSampleValues
| добавляет в серию указанное количество случайных значений
|
GetCursorValueIndex
| возвращает индекс точки серии, ближайшей к экранным координатам мыши
|
MaxMarkWidth
| возвращает максимальную ширину маркера
|
MaxXValue
| возвращает максимальное значение серии по оси X
|
MaxYValue
| возвращает максимальное значение серии по оси Y
|
MaxZValue
| возвращает максимальное значение серии по оси Z
|
MinXValue
| возвращает минимальное значение серии по оси X
|
MinYValue
| возвращает минимальное значение серии по оси Y
|
MinZValue
| возвращает минимальное значение серии по оси Z
|
VisibleCount
| возвращает количество видимых точек серии
|
|
Стандартные методы
Стандартные события
var tab=20;
// Главная форма frm=new TForm(); frm.Caption="JS+ - компонент диаграммы TChart TBarSeries"; frm.Width =900; frm.Height=675;
var srs_List=new Array( "TAreaSeries", "TArrowSeries", "TBarSeries", "TBubbleSeries", "TGanttSeries", "TFastLineSeries", "TLineSeries", "TPointSeries", "TPieSeries" );
var data_List=new Array( "10|болты", "40|винты", "20|гайки", "60|гвозди", "40|дюбели", "80|саморезы", "60|шайбы", "100|шурупы" );
// Строка состояния stb=new TStatusBar(frm);
// Кнопка Сохранить with (bt1=new TButton(frm)) { Caption="Сохранить"; Top=stb.Top-Height-tab; Hint="Сохранить изображение BMP в файл"; ShowHint=true; strTag="SAVE"; OnClick=btn_Click; }
// Кнопка Копировать with (bt2=new TButton(frm)) { Caption="Копировать"; Width=frm.TextWidth(Caption)+tab; Height=bt1.Height; Top=bt1.Top; Hint="Копировать изображение BMP в Буфер обмена"; ShowHint=true; strTag="COPY"; OnClick=btn_Click; }
bt1.Width=bt2.Width; bt1.Left=frm.ClientWidth-bt1.Width-tab; bt2.Left=bt1.Left-bt2.Width-tab;
// Панель закладок pgc=new TPageControl(frm); pgc.SetBounds(tab,tab,frm.ClientWidth-tab*2,bt1.Top-tab*2); pgc.OnChange=pgc_Change;
// Закладки for (i=0,ni=srs_List.length;i<ni;i++) { srs_id=(srs_str=srs_List[i]).replace("T","").replace("Series",""); with (tsh=new TTabSheet(pgc)) { Caption=srs_id; Color=clWhite; strTag=srs_str; }
// TChart with (chr=new TChart(tsh)) { SetBounds(15,15,tsh.ClientWidth-30,tsh.ClientHeight-30); MarginTop=MarginBottom=5; MarginRight=15; tsh.cmpTag=chr;
// Верхний заголовок with (Title) { Caption="Серия "+srs_str; Font.Style=fsBold; VertMargin=20; Visible=true; }
// Нижний заголовок with (chr.Foot) { Caption="Номенклатура"; Visible=true; } }
// Левая ось with (chr.LeftAxis) { with (Title){ Caption="Количество, шт."; Font.Color=srs_clr=clBlue; } Visible=true; }
// Нижняя ось with (chr.BottomAxis) { MinorTickLength=0; Visible=true; }
// Серия srs=eval("new "+srs_str+"(chr)"); srs.Color=srs_clr;
switch (srs_id) { case "Area": srs.AreaBrush=bsDiagCross; // Вертикальные линии with (srs.AreaLinesPen) { Color=clLtGray; Visible=true; } break;
case "Arrow": srs.ArrowHeight=srs.ArrowWidth=10; case "Bar": chr.BottomAxis.Labels=false; break;
case "FastLine": with (srs.Marks) { ShapeStyle=fosEllipse; ArrowLength=10; Style=smsValue; Visible=true; } srs.OnClick=srs_Click; srs.OnDblClick=srs_DblClick; break;
case "Pie": srs.DonutPercent=40; chr.Foot.Visible=false; case "Gantt": chr.LeftAxis.Labels= chr.BottomAxis.Labels=false; break;
case "Point": case "Line" : with (srs.Pointer) { Style=psCircle; Visible=true; } with (srs.Marks) { ArrowLength=15; Visible=true; } srs.OnGetMarkText=srs_GetMarkText; srs.OnClickPointer=srs_ClickPointer; }
// Заполнение серии данными srs.BeginUpdate(); for (j=0,k=1,nj=data_List.length;j<nj;k++,j++) { pnt_lst=data_List[j].split("|"); y=parseFloat(pnt_lst[0]); switch (srs_id) { case "Arrow" : srs.AddArrow (nj/2,45,k,y); break; case "Bubble": srs.AddBubble(k,y,9,pnt_lst[1]); break; case "Gantt" : srs.AddGantt (k-0.5,k+0.5,y,pnt_lst[1]); break; default: srs.AddXY(k,y,pnt_lst[1]); } } srs.EndUpdate();
// Масштабирование осей with (chr.LeftAxis) { Automatic=false; Minimum=0; Maximum=srs.MaxYValue(); } with (chr.BottomAxis) { Automatic=false; Minimum=0; Maximum=srs.MaxXValue()+1; } }
// Начальная серия pgc.ActivePageIndex=2;// TBarSeries pgc_Change(pgc);
frm.ShowModal();
// Обработчик события TButton::OnClick function btn_Click(btn) { var dlg,opr=btn.strTag,chr=pgc.ActivePage.cmpTag;
switch (opr) { case "COPY": chr.CopyToClipboardBitmap(); stb.SimpleText=" Изображение скопировано в Буфер обмена"; break; case "SAVE": with (dlg=new TSavePictureDialog(frm)) { Title="Сохранение изображения BMP в файл"; Options+=ofShareAware+ofCreatePrompt+ofOverwritePrompt; Filter="BMP-файлы (*.bmp)|*.bmp|Все файлы (*.*)|*.*"; DefaultExt="bmp"; InitialDir=JSPlus.TempDir; FileName="ChartImg.bmp"; }
if (dlg.Execute()) { chr.SaveToBitmapFile(dlg.FileName); stb.SimpleText=" Сохранен файл: "+dlg.FileName; } dlg.Delete(); } }
// Обработчик события T[Line,Point]Series::OnGetMarkText function srs_GetMarkText(srs,i,txt) { txt.Value="Метка №"+(i+1); }
// Обработчик события T[Line,Point]Series::OnClickPointer function srs_ClickPointer(srs,i,x,y) { stb.SimpleText=" Клик на указателе: №"+(i+1)+" ("+x+":"+y+")"; }
// Обработчик события TFastLineSeries::OnClick function srs_Click(srs,i,ms_button,shift,x,y) { stb.SimpleText=" Клик на серии: №"+(i+1)+" ("+x+":"+y+")"; }
// Обработчик события TFastLineSeries::OnDblClick function srs_DblClick(srs,i,m_button,shift,x,y) { stb.SimpleText=" 2-клик на серии: №"+(i+1)+" ("+x+":"+y+")"; }
// Обработчик события TPageControl::OnChange function pgc_Change(pgc) { var tsh=pgc.Pages[pgc.ActivePageIndex];
stb.SimpleText=" Выбрана серия "+tsh.strTag; }
|
Совместимость
C++ Builder/Delphi
|
JS+ | Руководство пользователя
|
|
|