Comparing TAChart with Delphi's TeeChart Standard
Introduction
This page contains a brief comparison of properties and methods between (trunk version of) Lazarus TAChart package and TeeChart Standard package which comes with Delphi XE2.
It can be used as a guide when porting applications from Delphi, as well as a source of inspiration for future TAChart development.
See also TAChart_documentation#TeeChart_compatibility.
A note on the structure of this document: Because it is intended to help porting applications from TeeChart to TAChart the basis of this comparison will be TeeChart. We will list the TeeChart methods and properties, give a short description based on the help file or own experiments and experience, and discuss the differences to TAChart and how they can be resolved. If a feature is not available in TAChart we will often use short statements like "not available" without giving reference to TAChart.
In this section, we compare classes used by TeeChart at several places in various other classes.
TChartPen
In addition to TChartPen
, TeeChart uses also descendants with slightly different default settings, like
TAxisGridPen
withColor = clGray
and a new propertiesDrawEvery
andZPosition
TChartAxisPen
withWidth = 2
TChartHiddenPen
withVisible = false
TWhitePen
withColor = clWhite
Here are the properties of TChartPen
:
Color
: Like TAChartEndStyle
: Like TAChart'sEndCap
Mode
: Like TAChartSmallDots
: OverridesStyle
for drawing a dotted line with narrow dots at a distance given bySmallSpace
.Style
: Like TAChartVisible
: Not availabe in TAChart,Visible=false
can be replaced byStyle = clClear
.Width
: Like TAChart
TTeeFont
Charset
: Standard TFont propertyColor
: Standard TFont propertyDepth
: ???, not available in TAChart.Emboss
: Upward-directed shadow, seeTTeeEmboss
. Not available.Gradient
: Draws characters with gradient, seeTTeeGradient
. No gradient support in TAChart.Height
: Standard TFont property.InterCharSize: Integer
: Defines the width of the character-to-character spacing. Not available.Name
: Standard TFont property.Orientation
: Standard TFont property.Outline
: Pen used to draw a border around font. To be used with big font sizes (for example 30). Not supported.Picture
: Defines a picture to be filled into the font region. Not supported.Pitch
: Standard TFont property.Quality
: Standard TFont property.Shadow
: Shadow drawn underneath the characters. SeeTTeeShadow
. Not supported.Size
: Standard TFont property.Style
: Standard TFont property.
TTeeGradient
TAChart does not support gradients at the time of this writing. Here is a reference of the properties that are published for TeeChart:
Angle
: Rotation angle of gradient, in degrees.Balance
: Determines the preference of use between gradient start and end colors.Direction = (gdTopBottom, gdBottomTop, gdLeftRight, gdRightLeft, gdFromCenter, gdFromTopLeft, gdFromBottomLeft, gdRadial, gdDiagonalUp, gdDiagonalDown)
: Gradient direction and type.EndColor, MidColor, StartColor
: The gradient fill depends three colors:StartColor
,MidColor
andEndColor
. For a 2-color gradient, setMidColor=clNone
.MidColor
seems to be ignored for non-rectangular gradients.RadialX, RadialY
: Offset in pixels to displace the gradient radial center.SubGradient
: Applies a secondary (superimposed) gradient to the gradient area. Has the same properties asTTeeGradient
except for anotherSubGradient
.Visible
: Turns gradient on/off.
TTeeShadow and TTeeEmboss
TTeeShadow and TTeeEmboss have the same properties. The shadow of TTeeShadow points down-right, that of TTeeEmboss up-left.
TAChart does not support shadows. Here is a reference of the published properties of TeeChart:
Clip
: Don't know what the clipping boundary is...Color
: Shadow colorHorizSize, VertSize
: Shadow size in horizontal and vertical directions.Smooth, SmoothBlur
: Activates/deactivates a soft shadowTransparency
: Percentage of how transparent the shadow is.Visible
: Turns shadow on and off.
TeeChart's TChart
Public methods
to be written ...
Properties
Align
: Standard VCL/LCL property.AlignWithMargins
: VCL property, missing in LCLAllowPanning
: Controls built-in panning support (panning directions, turn panning off). TAChart has an equally-named property which only turns built-in panning on/off; further panning control is possible by linking a TChartToolset to the chart.Anchors
: Standard VCL/LCL property.Animations
: Don't know, a click on the ellipsis button opens the series editor, maybe a feature of TeeChart Professional. Property missing in TAChart.AutoSize
: VCL/LCL property of some classes, don't know its effect on the chart, no entry in help file. Not used in TAChart.AxisBehind: Boolean
, defaulttrue
: In 3D view, draws axis in the back wall, behind the series. If false, axes are drawn at the front wall, before the series. Property missing in TAChart, but effect can be achieved by TChartAxis.ZPosition.AxisVisible: Boolean
, defaulttrue
: Turns on/off axis title, marks, ticks, and grid of all axes. The same as with TAChart.BackImage
: Allows to add a background image (see also other "BackImage*" properties). No image support in TAChart.BackImageInside: Boolean
, defaultfalse
: Iftrue
theBackImage
is drawn in the rectangle defined by the axes or frame, otherwise it is a background image of the entire chart. No image support in TAChart.BackImageMode
: Defines the way the image is drawn/repeated on the background, options (pbmStretch, pbmTile, pbmCenter, pbmCustom). No image support in TAChart.BackImageTransp: Boolean
, defaultfalse
: If true the transparency is that of a TBitmap, i.e., the transparent color is taken from the left-bottom pixel of the image. IfBackImage
is an icon,BackImageTransp
istrue
and cannot be changed. No image support in TAChart.BackWall
: See separate chapter onTChartBackWall
. Missing in TAChart.BevelInner
,BevelOuter
,BevelWidth
: Bevel parameters like those of aTPanel
-- TeeChart's TChart inherits from TCustomPanel. Missing in TAChart.Border
: A frame around the entire chart. SeeTChartPen
,Visible = false
by default. Not available.BorderRound
: If greater than 0 theBorder
is drawn as aRoundRect
with this radius. Not available.BorderWidth
: Seems to have the same effect as the LCL'sBorderSpacing.Around
BottomAxis
: SeeTChartAxis
.BottomWall
: See separate chapter onTChartBottomWall
. Missing in TAChart.Chart3DPercent
: Ratio between chart dimensions and chart depthChart.View3D
is true. Similar to TAChart's propertyDepth
of chart and some series.ClipPoints: boolean
, defaulttrue
: Toggles the drawing of series points within chart boundaries, preventing other chart regions from being overwritten. Not available in TAChart, works as alwaystrue
.Color
: Background color of entire chart, the same as with TAChart.Constraints
: Standard VCL / LCL property.Cursor
: Standard VCL / LCL property.CustomAxes
: List of axes. Similar to TAChart'sAxisList
which, however, contains also the default axes.CustomHint
: ???, not available in TAChartDepthAxis
: Characteristic of the bottom-right axis in 3D chart, see separate chapter on TChartDepthAxis. TAChart does not have a depth axis in 3D charts.DepthTopAxis
: Characteristics of the left-top axis in 3D chart, see separate chapter on TChartDepthAxis. Missing in TAChart.DockSite
: Enables Docking, not supported by LCL and TAChart.DragCursor, DragMode
: Drag and Drop support, standard VCL/LCL property.Emboss
: SeeTTeeEmboss
. Some kind of upward shadow of entire chart background, not available.Enabled
: Not in help file, at least, turns off zooming and panning.Foot
: SeeTChartTitle
. Like in TAChart.Frame
: See TChartPen. Like in TAChart.Gradient
: SeeTTeeGradient
. Draws a gradient behind the entire chart. No gradient support in TAChart.Height
: Standard VCL/LCL property.HelpContext, HelpKeyword, HelpType
: Standard VCL property.Hint
: Standard VCL/LCL property.Left
: Standard VCL/LCL property.LeftAxis
: SeeTChartAxis
.LeftWall
: See separate chapter onTChartLeftWall
, describes left wall of 3D charts. Missing in TAChart.Legend
: SeeTChartLegend
, describes legend parameters, like in TAChart.LiveBindings
: New VCL properties introduced in Delphi XE2. Not supported by LCL and TAChart.Locked
: ???, missing in TAChartMarginBottom, MarginLeft, MarginRight, MarginTop
: Margin between "Border" and Axis, corresponds to TAChart'sMarginExternal
.MarginUnits = (muPercent, muPixels)
: According to the help file: "When MarginUnits is muPercent, chart margins are calculated as percentage of total chart width and height. Percent margins are useful to obtain the same margin proportions, no matter the chart size." TAChart supports margin only in pixels.Margins
: Standard VCL property, in combination withAlignWithMargins
. Like LCL'sBorderSpacing
.Monochrome
: Iftrue
, turns off colors and renders chart in grayscale. Not supported.Name
: Standard VCL/LCL propertyPages
: Accesses pages for a multi-page chart. Not supported.Panning
: Properties for built-in panning support. Not available in TAChart, default panning by right mouse button, parameters, can be changed by means of chart tools.ParentColor
: Standard VCL/LCL property.ParentCustomHint
: ???, missing in TAChart.ParentShowHint
: Standard VCL/LCL property.PopupMenu
: Standard VCL/LCL property.PrintProportional
: No direct correspondence, in TAChart printing can be done as described here.RightAxis
: SeeTChartAxis
.RightWall
: See separate chapter onTChartLeftWall
, describes left wall of 3D charts. Not available.ScrollMouseButton
: Sets the button that will trigger scrolling when pressed. TAChart does not have built-in scrolling support, effect can be achieved by chart tools.SeriesGroups
: According to the help file: "Chart Series can be grouped. Series groups can optionally be displayed at the chart editor. The main purpose of groups is to have an easy way to show or hide multiple series, that is, show or hide individual groups of series." Not available in TAChart.SeriesList
: Grayed out. In TAChart accessible as propertySeries
.Shadow
: SeeTTeeShadow
. No shadow support in TAChart.ShowHint
: Standard VCL/LCL property.SubFoot
: SeeTChartTitle
. TeeChart allows for a second footer, TAChart does not.SubTitle
: SeeTChartTitle
. TeeChart allows for a second title, TAChart does not.TabOrder, TabStop, Tag
: Standard VCL/LCL properties.Title
: SeeTChartTitle
. Similar to TAChart.Tools
: Property is disabled in TeeChart Standard. Chart tools are an essential part of TAChart.Top
: Standard VCL/LCL property.TopAxis
: SeeTChartAxis
. Parameters for second x axis above the chart. Property not available in TAChart, but can be accessed byAxisList
in object tree.Touch
: Touch gestures are not supported by Lazarus.UseDockmanger
: Docking is not supported by Lazarus.View3D, View3DOptions, View3DWalls
: Details on 3D charting. In TAChart, 3D effect can only be achieved byDepth
properties of chart and some series.View3DOptions
: Not supported.View3DWalls
: Draw left and bottom "walls" to simulate 3D effect. Not available.Visible
: Standard VCL/LCL property.Width
: Standard VCL/LCL property.Zoom
: Parameters to define the built-in zooming. Property not available in TAChart, but effect can be achieved by chart tools.
Events
to be written ...
TeeChart's TChartTitle
Public methods
to be written ...
Properties
AdjustFrame
: Controls if chart title and foot frames will be resized to full chart dimensions or to the title text width. Not available.Alignment
: The same as with TAChart.Bevel, BevelWidth
: Defines a bevel around the Title. Not available.Brush
: Corresponds to the Brush object that is used to fill the shape interior. Usage is a bit confusing, because there is also a separateColor
property, and within the Brush there areBackColor
andColor
properties again.Brush.Style=bsDiagCross
usesTitle.Brush.Color
as background,Title.Color
as foreground color. What isBrush.BackColor
for?Color
: Background color of the title. In TAChart, useBrush.Color
.CustomPosition: boolean
: Iftrue
, title can be positioned byLeft
andTop
properties. Not supported.Emboss
: SeeTTeeEmboss
. Some kind of upward-directed shadow. Not supported.Font
: SeeTTeeFont
. Similar to TAChartFrame: TChartPen
: A frame around the title, seeTChartPen
. Very similar to TAChart.Gradient
: Allows to fill the title background with a gradient, seeTTeeGradient
. No gradient support in TAChart.Left, Top
: Distance of title from chart edge, used ifCustomPosition=true
. Not available.Picture
: Background picture for the title. No picture support in TAChart.Shadow
: Shadow parameters. SeeTTeeShadow
. No shadow support in TAChart.ShapeStyle = fosEllipse, fosRectangle, fosRoundRectangle
: Title shape, like TAChart'sShape
which has more options.Text
: Like TAChartTextFormat = (ttfNormal, ttfHTML)
: Allows HTML formatting in the title. Available in Lazarus v1.8 or newer as enumeration (tfNormal, tfHTML).Transparency = 0..100
: Defines how much of the background is visible through the title (as percentage). Not available in TAChart.Transparent: boolean
: If true only the text is visible, all decorating elements are turned off. Missing in TAChart.Visible
: Show/hides title, like in TAChart.
TeeChart's TChartLegend
Public methods
to be written ...
Properties
Alignment
: Defines location of legend,laLeft, laRight, laTop, laBottom
. Top- and bottom-aligned legends are automatically drawn as row. The same property in TAChart has more options. Top- and bottom-aligned legends are still column-oriented, multicolumn legends can be achieved by propertyColumnCount
, and column-to-row ordering can be changed byItemFillOrder
.Bevel, BevelWidth
: Define the bevel around the legend, like that of a panel. Not available in TAChart.Brush, Color
: Defines parameters how to fill the background of the legend. TAChart has aBackgroundBrush
property which behaves slightly different. The background color, e.g., is set byBackgroundBrush.Color
, while TeeChart uses the propertyColor
.Checkboxes
: Enables/disabled display of checkboxes or radiobuttons for each legend item. Not available in TAChart, butTChartListbox
can be a replacement.CheckboxesStyle = (cbsCheck, cbsRadio)
: Not available in TAChart, but the legend can be replaced by aTChartListbox
where you can select the propertyCheckStyle
.ColorWidth
: Defines percentage of width of color rectangle associated with each legend item. LikeSymbolWidth
in TAChart which is in pixels, though.CurrentPage: Boolean
: When chart is divided into several pages this property, iftrue
, displays only the items for the current page. No page support in TAChart.CustomPosition, Left, LeftPercent, Top, TopPercent, PositionUnits
: IfCustomPosition = true
legend positioning can be fine-tuned byLeft
andTop
properties (ifPositionUnits = muPixels
), or byLeftPercent
andTopPercent
(ifPositionUnits = muPercent
). Not available.DividingLines
: Sets the pen attributes of optional lines that divide individual legend items. Corresponds toGridHorizontal
andGridVertical
in TAChart.Emboss: TTeeEmboss
: SeeTTeeEmboss
. Parameters for some kind of upward shadow. Absent in TAChart.FirstValue: Integer
: Defines the index of the first value to be displayed in the legend, can be used to display a specific sub-set of series or points in the legend. Not available in TAChart, but series have aLegend
property which controls if or how the series is shown in the legend.Font
: SeeTTeeFont
. Similar to TAChart.FontSeriesColor: Boolean
: Iftrue
the legend item text is drawn in the same color as the series. Not directly available in TAChart, but effect can be achieved by handling theOnDraw
event of the series.Legend.Frame
: See TChartPen. Similar to TAChart.Gradient
: SeeTTeeGradient
. No background gradient support in TAChart.HorizMargin, VertMargin
: Specifies the number of screen pixels between legend and chart rectangle. In TAChart, use propertiesMarginX
and/orMarginY
.Inverted
: Legend items are drawn in the order first to last, or last to first. Available in TAChart since version 1.7. In addition toInverted
, the order of series in the legend is defined by the series' propertyLegend.Order
(this does not work if theLegend.Multiplicity
of the series islmStyle
).LegendStyle = (lsAuto, lsSeries, lsValues, lsLastValues, lsSeriesGroups)
:lsSeries
draws series titles (the same aslsAuto
,lsValues
draws values of first visible series,lsLastValues
draws the last value of each active series,lsSeriesGroups
: ???. In TAChart, drawing of series values or series titles can be activated per series by the series propertyLegend.Multiplicity
.MaxNumRows
: 0 means "all rows". Not available in TAChart, but series may be excluded from the legend by setting theirLegend.Visible
tofalse
.Picture
: Background picture of the legend. No picture support in TAChart.ResizeChart
: Determines whether or not the legend reduces the chart rectangle to prevent overlap between legend and chart rectangles. In TAChart, useUseSidebar
.RoundSize: Integer
: Corner radius for rounded rectangle frame (see propertyShapeStyle
). Not available in TAChart.Shadow
: SeeTTeeShadow
. No shadow support in TAChartShapeStyle = (fosRectangle, fosRoundRectangle, fosEllipse)
: Shape of the legend. TAChart supports only rectangular shapes for the legend.Symbol
: Parameters that define how the series symbol is displayed in the legend, seeTLegendSymbol
.TextStyle = (ltsPlain, ltsLeftValue, ltsRightValue, ltsLeftPercent, ltsRightPercent, ltsXValue, ltsValue, ltsPercent, ltsXAndValue, ltsXAndPercent)
:ltsPlain
displays point label,ltsLeftValue
displays point value plus point label, etc, similar to TAChart's series propertyMarks.Style
. But TAChart has no independent style of legend and series marks. However, the event handler for the series'Legend.OnCreate
can be used to define the legend text in any way.TextSymbolGap
: Distance between text and symbol. Not available in TAChart.Title
: Text box to show at legend's top. In TAChart, effect can be achieved by means ofLegend.GroupTitles
.TopPos
: Specifies the Legend's top (or left) position as a percentage of the total chart height (or width). When theAlignment
property islaLeft
orlaRight
(vertical legend), theTopPos
property increments the top legend position by this percentage of the total chart height. ForlaTop
orlaBottom
legend alignments (horizontal legend), it increments the legend's left position. Not available in TAChart.Transparency
: Sets percent transparency of the legend. Not available.Transparent
: Turns on/off decorating elements liks frame, shadow etc. Property not supported in TAChart, but effect can be achieved by handling elements individually.Visible
: The same as with TAChart.
TLegendSymbol
Continuous
: effect unclear. Not available in TAChart.DefaultPen
: ifDefaultPen = true
the pen of the series is used to draw the line in the symbol (e.g. line segments for TLineSeries, border of bars for TBarSeries, etc). Otherwise the lines are draw as specified byPen
.DefaultPen
is not available in TAChart. LineSeries work as ifDefaultPen = true
, others as ifDefaultPen = false
, the pen parameters are inSymbolFrame
.Emboss
: See TTeeEmboss. Not supported in TAChart.Gradient
: See TTeeGradient. No gradient support in TAChart.Position = (spLeft, spRight)
: Position of the symbol with respect to the text. Not available.Shadow
: SeeTTeeShadow: No shadow support.Squared
: iftrue
theWidth
parameter is ignored and the symbol is drawn in a square defined by the lineheight of the legend items. Not available.Visible
: Shows/hides legend symbols in legend. Not available.Width, WidthUnits = (lcsPixels, lcsPercent)
: Width of the legend symbol.SymbolWidth
in TAChart, in Pixels.
TeeChart's TChartAxis
Public methods
to be written ...
Properties
- Automatic, AutomaticMaximum, AutomaticMinimum: Automatic range finding, or if off, use
Maximum
and/or Minimum for axis ends. In TAChart, use Range. - Axis: Defines how the axis line is drawn. Its class TChartAxisPen has the same properties as TChartPen. In TAChart, use AxisPen.
- AxisValuesFormat: Format mask for FormatFloat that defines the format of the axis labels (default: #,##0.###). In TAChart, use Marks.Format, default: %0:.9g.
- DateTimeFormat: Defines how date/time values are formatted. No direct equivalent in TAChart. Effect can be created by TDateTimeChartSource or TListChartSource.
- EndPosition, StartPosition: Defines the percentage position of chart width or height where the axis begins and ends. Left and Top are 0,0 positions. No 1:1 equivalent in TAChart, but effect can be achieved by Range.
- ExactDateTime: boolean: Useful when placing date/time ticks e.g. at the first of each month such that the tick distance is the number of days per month. Missing in TAChart. Can be achieved with some coding using a TListChartSource.
- Grid: Parameters to draw the axis grid. See TChartPen for details. TAChart's Grid is equivalent, the subproperty DrawEvery:integer which allows to skip every other grid line is not directly supported, by may be emulated by using Axis.Marks.Stripes.
- GridCentered: boolean: Draws axis grid line between label positions. Not available. You can add a minor axis (Minors for the intermediate labels and hide the main labels to get the same effect.
- Horizontal: Boolean: Equivalent to TAChart's Alignment.
- Increment: Double: Distance between axis labels. If 0 the distance is determined automatically. In TAChart automatic label positioning is controlled by property Intervals.
- Inverted: If true> the axis runs into reverse direction. Same as with TAChart.
- Labels: Turns axis labels on and off. In TAChart: Marks.Visible
- LabelsAlign: If alDefault labels of vertical axes are aligned towards the axis line (left axis: right-aligned), if alOpposite they are aligned away from the axis line (left axis: left-aligned). Not supported.
- LabelsAlternate: If true labels for horizontal are offset vertically, one near axis, the next one a line deeper. Not available.
- LabelsAngle: Rotation angle of labels in degrees. Like TAChart's Marks.LabelFont.Orientation which is in tenths of degrees, though.
- LabelsBehind: ???
- LabelsExponent: Controls axis labels in exponent format: if true Exponent is in super-script font, else in scientific notation. Not available in TAChart.
- LabelsFont: Font of labels. See TTeeFont. Like TAChart's Mark.LabelFont which has less subproperties, though.
- LabelsMultiLine: Allows multi-line labels. No direct correspondence in TAChart, but effect can be achieved by event OnMarkToText.
- LabelsOnAxis: Controls if labels at axis minimum and maximum positions will be shown or not. Not available in TAChart, effect can be partially achieved using Marks.Range property.
- LabelsSeparation: Specifies the percent amount of minimum distance between labels. Zero value causes overlapping labels. Not directly available in TAChart, but effect can be partially achieved by Intervals and OverlapPolicy settings.
- LabelsSize: Size occupied by labels, default 0 means automatic calculation. If not correct, axis title may overlap with labels. In Lazarus since 1.2.8, in older versions no equivalent, always automatic.
- LabelsStyle = (talAuto, talNone, talPointValue, talText, talValue): Like TAChart's Marks.Style. No correspondence for talAuto, though, which tries to guess the value displayed from the type of axis, e.g. if series has XLabels, then talText will be used.
- Logarithmic: Enables logarithmic axis scaling. In TAChart no direct correspondence, but effect can be achieved by means of AxisTransformations and Axis.Intervals.
- LogarithmicBase: Base for logarithmic scaling. In TAChart, property is found in the transformation TLogarithmAxisTransform needed to achieve logarithmic scaling.
- MaximumOffset, MinimumOffset: Pixels that will be left as a margin at axis maximum or minimum positions. In TAChart: TChart.Margins.Right or Margins.Left, MarginsForMarks = true for automatic calculation.
- MaximumRound, MinimumRound: Rounds axis maximum or minimum to the next integer. Not available in TAChart.
- MinorGrid: Parameters to define minor grid. Use property Minors[n].Grid.
- MinorTickCount: Number of minor ticks between two major ticks. Use Intervals property of Minors[n].
- MinorTickLength: Length of minor ticks. In TAChart, the property is Axis.Minors[n].TickLength; there is also an TickInnerLength which TeeChart does not have.
- MinorTicks: Parameter to define minor ticks. Use property Minors[n].
- OtherSide: If true axis is drawn on the opposite side of the chart. In TAChart, change the Alignment of the axis correspondingly.
- PartnerAxis: ???
- PositionPercent: Percentage of chart width or height the axis is moved into the drawing area. In TAChart, use Position and PositionUnits=cuPercent.
- RoundFirstLabel: Rounds the first label to a "nice" number (default: true). In TAChart, label positioning is determined by Intervals subproperties.
- TickInnerLength: Like with TAChart
- TickOnLabelsOnly: From the help file: "... sets the axis ticks and axis grid to be drawn only to coincide at labels. Otherwise they will be drawn at all axis increment positions. When the axis LabelsSeparation property is greater than 0 (default 10), axis increases the increment property to avoid axis label overlap." Seems not be available in TAChart.
- Ticks, TicksInner: Determines drawing of the outer and inner ticks (Color, EndStyle, Mode, Style, Visible, Width, etc). In TAChart only TickColor.
- Title: Defines the axis title - see TChartAxisTitle. TAChart has the same property but with less sub-properties; the main difference is that TAChart's Visible defaults to false.
- TitleSize: Distance between title and chart border (?). 0 --> automatic determination. Use Margin property in TAChart.
- UsePartnerAxis: No effect in TeeChart Standard. No equivalent in TAChart.
- Visible: Like in TAChart.
- ZPosition: Like in TAChart.
TChartAxisTitle properties
Here is a description of properties that have not yet been explained in TChartTitle.
- Angle: Rotation angle of title, in degrees. In TAChart, use Title.LabelFont.Orientation which is in tenths of degrees.
- Caption: Text to be displayed as axis title. Same as in TAChart.
- Pen: Defines parameters that draw the frame around the title, see TChartPen. In TAChart, use Frame.
- RoundSize: Corner radius of rounded rectangle if ShapeStyle = fosRoundRectangle. Not available.
- Visible: Toggles the axis title. Same as in TAChart where the title is off by default.
TeeChart's TLineSeries
Public methods
Properties
Active
: Shows/hides series, like in TAChart.Brush
: Used in 3d view to paint the band of the line series. Not available in TAChart.ClickableLine
: Determines if series accepts mouse clicks over the line segment drawn between points. Not available.ColorEachLine
: IfColorEachPoint
istrue
, determines if the connecting lines of a lineseries will also be displayed using a different color for each line segment. In TAChart, this corresponds to the settingceLineAfter
orcePointAndLineAfter
of propertyColorEach
; in addition there are additonal options to colorize the preceding line segment.ColorEachPoint
: Iffalse
, all points will be drawn using theSeriesColor
property. Iftrue
, each series point will be colored with its corresponding point color. In TAChart, assign colors to eachChartDataItem
by callingListSource.SetColor
. Further control is given by the propertyColorEach
which can be set to colorize the data point only and/or the neighboring line segments (see also Delphi'sColorEachLine
).ColorSource
: Used only when connecting a series to a database dataset or datasource. Must be a valid database field name. Not supported.Cursor
: Shown when the mouse moves sufficiently close to the series. Not suppored in TAChart.Dark3D
: In 3d view, draws band of lineseries darker and brighter depending on orientation to light source. Not supported.DataSource
: A TChartSeries can be optionally connected to a "point data provider" (or DataSource) which may be another series, TDataset derived class, or "TTeeSeriesSource". Concept similar to TAChart's chart sources.Depth
: In 3d view, depth of the band drawn. Like in TAChart.Emboss
: Upward-directed shadow. SeeTTeeEmboss
. Not supported in TAChart.Gradient
: Gradient drawn across depth of the 3d band, seeTTeeGradient
. Not supported.HorizAxis = (aTopAxis, aBottomAxis, aBothHorizAxis, aCustomHorizAxis)
: Identifies which horizontal axis is used. Similar to TAChart'sAxisIndexX
.InvertedStairs
: Alter the direction of the stairs. In TAChart, likeLineType = ltStepYX
.LegendTitle
: Title to be used in legend, different from defaultTitle
. Not available in TAChart which normally usesTitle
only, but legend text can be altered fromTitle
by eventLegend.OnCreate
.LineBrush
: Defines the brush style used to fill lineseries band in 3d view. Identical toBrush.Style
. Not supported in TAChart.LineHeight
: Thickness of the band drawn in 3d view. Not supported.LinePen
: Pen parameters used to draw the line series in 2d view. See TChartPen. Like TAChart.Marks
: Defines all necessary properties to draw a mark near to each series point, seeTSeriesMarks
. Similar to TAChart (which has less options).Name
: Standard VCL/LCL propertyOutline
: Determines an additional pen used to display a "border" or "outline" around a lineseries. Not available.ParentChart
: Chart to which the series belongs. In TAChart, readonly and public.PercentFormat
: Standard formatting string specifier used to draw the series marks in percent style. In TAChart, useMarks.Format
.Pointer
: Parameters to draw data points, seeTSeriesPointer
. Similar to TAChart which has less options.SeriesColor
: Color of the series, like in TAChart.Shadow
: SeeTTeeShadow
. No shadow support in TAChart.ShowInEditor
: Shows/hides series in chart editor. Not available.ShowInLegend
: Shows/hides series in legend. UseLegend.Visible
in TAChart.Stacked = (cssNone, cssOverlap, cssStack, cssStack100)
: Stacking of series. In TAChart, use multi-valued source.Stairs: boolean
: Connects data paints by line segments (false
) or stairs (true
). In TAChart is is controlled byLineType=ltFromPrevious
, orLineType = ltStepXY or ltStepYX
, respectively.Tag
: Standard VCL/LCL propertyTitle
: Text to identify the series in the legend. Same with TAChart.Transparency
: Percent transparency of the series. The same in TAChart, but values are between 0 and 255.TreatNulls
: Not available, but TAChart works liketnSkip
:tnDontPaint
: Line from non-null to null point is displayed, line from null to non-null is not displayedtnSkip
: Lines between a non-null point and the null point and the next non-null point are not displayed.tnIgnore
: Treats all points as non-nulls.
ValueFormat
: Standard formatting string specifier used to draw the series Marks.VertAxis = (aLeftAxis, aRightAxis, aBothVertAxis, aCustomVertAxis)
: Identifies which vertical axis is used. Similar to TAChart'sAxisIndexY
.XLabelsSource
: Name of a DataSet field that contains the point labels. In TAChart, a DBChartSource is needed.XValues, YValues
: Provides information on storage of x and y values. In TAChart, useSource
property for this purpose.
TChartValueList
TAChart does not provide a TChartValueList property. Here is the reference what this class contains in TeeChart.
DateTime
: tells TeeChart that data values are numbers (false
) or date/time values (true
). Not available in TAChart. Automatic presentatation of date/time values as axis labels can be achieved by assigning a TDateTimeIntervalChartSource to the axis; date/time series mark texts can be obtained by means of theOnGetMark
event of the series.Name
: Name of the series, needed when series is used asValueSource
of another series. Not needed in TAChart.Order = (loNone, loAscending, loDescending)
: Sorting order of the data. In TAChart, sorting is achieved by the chart source, in case of theTListChartSource
commonly used forTLineSeries
this is the propertySorted
.ValueSource
: If series is connected to a database then this is the name of a dataset field. If series is connected to another chart, then this is the name of the connected chart. TAChart does support database-sensitive chartsources, but sharing data with other charts is possible only by linking their chart sources.
TSeriesMarks
Angle
: Rotation angle of marks, in degrees. In TAChart, useMarks.LabelFont.Orientation
(which is in tenths of degrees).Arrow
: Parameters for the connecting line between mark and data point. Property name is misleading since an arrow head is not drawn by default (only after settingCallout.ArrowHead
to a value different fromahNone
). This property is calledLinkPen
, parameters for an arrow head are available underArrow
.ArrowLength
: Length of the connecting line between mark and data point. UseDistance
in TAChart.BackColor
: Background color of the mark. In TAChart, useLabelBrush.Color
.Bevel, BevelWidth
: Draws a bevel around the mark (like TPanel). Not available.Brush
: Parameters to draw the background of the mark. In TAChart, useLabelBrush
which has less options, though.CallOut
: Parameters to refine the connection line between mark and data point; you can also set the arrow head here. In TAChart, callout-type of connection can be defined by CallOutAngle which is in tenths of degrees; the arrow head is set by propertyArrow
.Clip
: Clips mark labels at the edge of the chart areas. CalledClipped
in TAChart.Color
: Seems to be the same asBackColor
.LinkBrush.Color
in TAChart.DrawEvery: Integer
: Allows to skip a number of marks to avoid overlap. Not available.Emboss
: Upward-directed shadow. SeeTTeeEmboss
. Not supported.Font
: Font of the marks text. In TAChartLabelFont
.Frame
: Parameters for drawing the frame around the mark, seeTChartPen
. The same as with TAChart.Gradient
: SeeTTeeGradient
. No gradient support in TAChart.Margins
: Distance between text and frame. The same as with TAChart.MultiLine
: Enable/disable multilined marks. Not available in TAChart, but works liketrue
if the mark text containsLineEnding
.Picture
: No support for background picture in TAChart.Shadow
: SeeTTeeShadow
. No shadow support in TAChart.ShapeStyle = (fosEllipse, fosRectangle, fosRoundRectangle)
: Like TAChart'sShape
which has more options.Style = (smsLabel, smsLabelPercent, smsLabelPercentTotal, smsLabelValue, smsLegend, smsPercent, smsPercentRelative, smsPercentTotal, smsPointIndex, smsSeriesTitle, smsValue, smsXValue, smsXY)
: Like TAChart'sStyle
with slightly different options.Symbol
: Adds the series symbol to the mark. Not available.TextAlign
: Alignment of text within frame rectangle. Is calledAlignment
in TAChart.Transparency
: Percentage of transparency to see the background underneath the marks. Not available.Transparent
: Toggles visual enhancements like frame, shadow, emboss. Not available, same effect can be achieved by toggling elements separately.Visible
: Turns marks on/off. The same as in TAChart.
TSeriesPointer
Brush
: Parameters, how the interior of the symbol is filled. Like in TAChart.Dark3D
: Shades faces of the extruded shape (ifDraw3D=true
) as if it were illuminated by a light source. Not available.Depth, Draw3D
: In 3d view, allows to extrude symbols into depth (as specified byDepth
); only available ofStyle = psRectangle
. Not available in TAChart.Emboss
: Upward-directed shadow, seeTTeeEmboss
. Not supported.Gradient
: SeeTTeeGradient
. No gradient support in TAChartHorizSize, VertSize
: Size of the data symbol, like in TAChart.InflateMargins
: Automatically increases the extent of the chart such that the symbols at the edge are not clipped. Not available in TAChart, but can be achieved manually by increasing the chart'sMargins
.Pen
: Parameters used to draw the outline of the symbol, seeTChartPen
. Like in TAChart.Shadow
: SeeTTeeShadow
. No shadow support in TAChartStyle = (psRectangle, psCircle, psTriangle, psDownTriangle, psCross, psDiagCross, psStar, psDiamond, psSmallDot, psNothing, psLeftTriangle, psRightTriangle, psHexagon)
: Geometrical shape used for the pointer symbol, like in TAChart with slightly different options.Transparency
: Percentage of transparency which allows to see the background underneath the symbols. Not supported, transparency of the entire series is controlled by the corresponding property of the series.Visible
: Shows/hides the point symbols. In TAChart, use the propertyShowPoints
of the series.
Events
TeeChart's TBarSeries
Public methods
Properties
Only those properties will be discussed here which were not mentioned in TLineSeries.
AutoBarSize:
: Determines if the series bars calculate their width automatically based on the minimum and maximum bar values.False
by default, meaning that the bar size is calculated using the number of bar points instead of bar values. Not available.AutoMarkPosition:
: Controls if marks will be repositioned if there's the possibility of mark overlapping. Marks are displaced to the top of the bars to minimize the overlapping effect of marks with long text or big font sizes. Whenfalse
, no checking is performed and all marks are drawn at theirMark.ArrowLength
distance to the top of the bar. Does not work perfectly. Not available.BarBrush
: Defines how the bars are filled. WhenBarBrush.Style
is different frombsSolid
, theSeriesColor
is the bar background color. Like TAChart, except thatBarBrush.Color
is the same asSeriesColor
; this is the bar foreground color ifStyle <> bsSolid
; there is no way to change the background color.BarPen
: Pen used to draw the bar border, seeTChartPen
. Like TAChart. TheVisible
property of TeeChart is not supported, but can be emulated by settingStyle = psClear
.BarRound = (brNone, brAtValue, btBothEnds)
: Determines which end of the bar is rounded ifBarStyle = brRoundRectangle
. Not available.BarStyle = (bsRectangle, bsRoundRectangle, bsPyramid, bsInvPyramid, bsCilinder, bsEllipse, bsArrow, bsRectGradient, bsCone, bsBevel, bsSlantCube, bsDiamond, bsInvArrow, bsInvCone, bsCustom)
: Shape used to draw bars.bsSlantCube
is mostly useful only in 3D where it corresponds tobsRectangle
, but is rotated around the vertical axis. Not available, TAChart only draws rectangles.BarWidth
(runtime and read-only): Indicates bar width in pixels (in case ofTHorizBarSeries
the corresponding property isBarHeight
). In TAChart use the functionGetBarWidth(BarIndex:Integer)
.BarWidthPercent
: Determines the bar width expressed as percentage of the space available per bar (BarWidthPercent = 100
: joined bars;BarWidthPercent = 50
: bar width equal to spacing). Similar to TAChart which, however, allows to control bar width also byBarWidthStyle
.BevelSize
: Pixels of bar bevel, used only whenBarStyle
property isbsBevel
(only in 2D and 3D orthogonal display modes). Not available in TAChart.CustomBarWidth
: Determines the fixed bar width in pixels. Not supported.DepthPercent
: Defines the percentage the bars will need in the z direction (into the screen); for 3D only. Not available.Gradient, GradientRelative
: Gradient parameters forBarStyle = bsRectGradient
, seeTTeeGradient
. IfGradientRelative = true
the gradient of the longest bar is applied to all other bars, iffalse
all bars show the full gradient independent of their length. No gradient support in TAChart.MarksLocation = (mlStart, mlCenter, mlEnd), MarksOnBar
: ifMarksOnBar = true
,MarksLocation
controls the position of the marks at the bottom, center, top of the bars (inside).YOrigin
is ignored for marks position in case ofmlStart
. IfMarksOnBar = false
, marks are always above the top. TAChart has a similar propertyMarkPositions
which behaves slightly different.mlCenter
is not supported.MultiBar = (mbNone, mbSide, mbStacked, mbStacked100, mbSideAll, mbSelfStack)
: If there are more than oneTBarSeries
in the same chart, the property determines if they will be drawn side-by-side, back-to-front or stacked.mbSideAll
means that all bars of the first group are drawn next to each other, then those of the second group, etc.mbSelfStack
is effectively likembSideAll
except that the bars are stacked. Property not available in TAChart, but some multi-bar effects (mbSide, mbStacked, mbStacked100
) can be achieved by multi-valued series andTChartStyles
.OffsetPercent
: Indicates the bar displacement in percentage of bar size. Can be used to create "overlayed" bar charts. In TAChart:BarOffsetPercent
.SideMargins: boolean
: Controls if first and last displayed bar will be separated from the chart rectangle. Property not supported in TAChart, but you can useChart.Margins
to get the same effect.StackGroup: Integer
: Index which groups series when applying theMultiBar
property. In TAChart a multi-bar chart is created from a single series using a multi-valued source andTChartStyles
, instead of multiple series grouped byStackGroup
.TickLines
: Pen used to display lines in front of bars at the height of each y axis grid line. SeeTChartPen
. Not available in TAChart.UseYOrigin, YOrigin
:YOrigin
determines the axis value used as a common bottom for all bars.UseYOrigin
must betrue
(the default) to useYOrigin
, otherwiseYOrigin
is effectively 0. Bars with a value bigger thanYOrigin
are drawn in one direction and bars with a lower value are drawn in the opposite direction. In TAChart: useZeroLevel
instead ofYOrigin
;UseYOrigin
is not available, but works liketrue
.
TeeChart's THorizBarSeries
TAChart does not support this series type. But it can be easily derived from TBarSeries by interchanging its properties AxisIndexX
and AxisIndexY
.