Skip to main content
All docs
V25.1
  • TdxChartCustomSeries Class

    The base class for all chart series classes.

    Declaration

    TdxChartCustomSeries = class(
        TcxLockableComponent,
        IdxChartLegendItem,
        IdxChartCloneComponent
    )

    Remarks

    A series is a set of data points displayed in a diagram. The TdxChartCustomSeries class implements appearance and behavior settings common to all series classes. Common settings include data binding modes and a data point collection.

    VCL Chart Control: Series in XY Diagrams

    Available Series Types

    A diagram’s Series and VisibleSeries properties reference created series as TdxChartCustomSeries objects. Cast them to the following descendant classes to access all series type-specific properties and methods:

    TdxChartXYSeries

    A series compatible with XY diagrams designed to display data using the axis of arguments and the axis of values. An XY series supports Area, Bar, and Line Views.

    VCL Chart Control: An XY Diagram Example with Area, Bar, and Line Series

    TdxChartSimpleSeries

    A series compatible with simple diagrams with support for Pie and Doughnut Views.

    VCL Chart Control: A Simple Diagram Example with Pie and Doughnut Series

    Main API Members

    The list below outlines key members of the TdxChartCustomSeries class. These members allow you to configure series.

    Appearance and Behavior

    Caption
    Specifies the series caption.
    CheckableInLegend
    Specifies if users can hide or display the XY series in the chart legend.
    EmptyPointsDisplayMode
    Specifies how the Chart control displays empty points in the series.
    Index
    Specifies the index of the series in its diagram.
    StoredName
    Specifies the custom name for saving series data to a stream.
    Title

    Specifies the series title, and its appearance and position in the parent diagram.

    Note

    Only the TdxChartSimpleSeries class publishes this property because an XY diagram layout has no dedicated positions for individual series titles.

    ToolTips
    Provides access to series tooltip settings.
    ViewClass | ViewType
    Switch between available View types.
    View
    Provides access to the active series View settings.

    Data Binding and Shaping Options

    DataBindingClass | DataBindingType
    Switch between data access modes.
    DataBinding
    Provides access to data binding settings.
    Points
    Provides access to the series point collection.
    SortBy | SortOrder
    Sort data points by values or arguments in ascending or descending order.
    TopNOptions

    Allows you to limit the number of series points displayed as individual slices.

    Note

    Only the TdxChartSimpleSeries class publishes this property.

    General-Purpose API Members

    AssignFrom
    Updates all series settings from the specified source.
    BeginUpdate | EndUpdate | CancelUpdate
    Allow you to avoid excessive redraw operations during batch data and appearance changes.
    Diagram
    Specifies the diagram to which the series belongs.

    Code Example: Create Three Unbound Stacked Bar Series

    The following code example creates three stacked bar series with identical appearance settings in unbound data access mode:

    uses cxDataStorage;  // Declares the TcxStringValueType class
    // ...
    var
      AXYDiagram: TdxChartXYDiagram;
      AXY2018Series, AXY2019Series, AXY2020Series: TdxChartXYSeries;
      AStackedBarView: TdxChartXYSeriesStackedBarView;
      ADataBinding: TdxChartXYSeriesUnboundDataBinding;
    begin
      dxChartControl1.BeginUpdate;  // Initiates the following batch change
      try
        AXYDiagram := dxChartControl1.AddDiagram<TdxChartXYDiagram>('DevAV Sales By Region');
        AXYDiagram.Title.Appearance.FontOptions.Size := 20;
        AXYDiagram.Axes.AxisY.Title.Text := 'Millions of Dollars';
        AXYDiagram.Axes.AxisY.Title.Appearance.FontOptions.Size := 14;
        AXY2018Series := AXYDiagram.AddSeries('2018');  // Creates a new series with the caption "2018"
        // Selects the unbound data access mode
        AXY2018Series.DataBindingClass := TdxChartXYSeriesUnboundDataBinding;
        ADataBinding := AXY2018Series.DataBinding as TdxChartXYSeriesUnboundDataBinding;
        // Selects the string data type for arguments
        ADataBinding.ArgumentField.ValueTypeClass := TcxStringValueType;
        AXY2018Series.ViewClass := TdxChartXYSeriesStackedBarView;  // Selects the Stacked Bar series View
        AStackedBarView := AXY2018Series.View as TdxChartXYSeriesStackedBarView;
        AStackedBarView.ValueLabels.Visible := True;  // Displays value labels on bars
        AStackedBarView.ValueLabels.TextFormat := '{V:0.000}';  // Changes the number display format
        AStackedBarView.ValueLabels.Appearance.FontOptions.Bold := True;
        AXY2018Series.Points.Add('Asia', 4.2372);
        AXY2018Series.Points.Add('Australia', 1.7871);
        AXY2018Series.Points.Add('Europe', 3.0884);
        AXY2018Series.Points.Add('North America', 3.4855);
        AXY2018Series.Points.Add('South America', 1.6027);
        AXY2019Series := AXYDiagram.AddSeries;  // Creates a new series with the default settings
        AXY2019Series.AssignFrom(AXY2018Series);  // Copies all settings from the "2018" series
        AXY2019Series.Caption := '2019';  // Defines a different series caption
        AXY2019Series.Points.Add('Asia', 4.7685);
        AXY2019Series.Points.Add('Australia', 1.9576);
        AXY2019Series.Points.Add('Europe', 3.3579);
        AXY2019Series.Points.Add('North America', 3.7477);
        AXY2019Series.Points.Add('South America', 1.8237);
        AXY2020Series := AXYDiagram.AddSeries('2020');  // Creates a new series with the default settings
        AXY2020Series.AssignFrom(AXY2018Series);  // Copies all settings from the "2018" series
        AXY2020Series.Caption := '2020';  // Defines a different series caption
        AXY2020Series.Points.Add('Asia', 5.289);
        AXY2020Series.Points.Add('Australia', 2.2727);
        AXY2020Series.Points.Add('Europe', 3.7257);
        AXY2020Series.Points.Add('North America', 4.1825);
        AXY2020Series.Points.Add('South America', 2.1172);
      finally
        dxChartControl1.EndUpdate;  // Calls EndUpdate regardless of the batch operation's success
      end;
    end;
    

    VCL Chart Control: An XY Diagram Example with Three Stacked Bar Series

    Series Deletion

    To delete all series in a diagram, call its DeleteAllSeries procedure. To delete an individual series, release it directly in code (call the Free procedure in Delphi or use the delete keyword in C++Builder).

    Direct TdxChartCustomSeries Class References

    The following public API members reference a TdxChartCustomSeries object:

    TdxChartCustomDiagram.Series
    Provides indexed access to all series in the diagram.
    TdxChartCustomDiagram.VisibleSeries
    Provides indexed access to all visible series in the diagram.

    Implements

    Inheritance

    See Also