TdxChartSimpleDiagram Class
A simple diagram in the Chart control.
Declaration
TdxChartSimpleDiagram = class(
TdxChartCustomDiagram
)
Remarks
A simple diagram is designed to display Pie and Doughnut series.
Supported Simple Series Types
A series View determines how a simple diagram
displays series.[1] A diagram can display multiple series with different Views and individual View appearance settings. You can use the ViewType or ViewClass property to switch between compatible Views in any existing series and display the same data in a different manner at any time.
Pie View
The Pie View displays series values as slices of a circle whose radial angles reflect shares of all series values in relation to their total.
Doughnut View
The Doughnut View is identical to the Pie View but has a hole in its center.
Main API Members
The list below outlines key members of the TdxChartSimpleDiagram
class that allow you to configure simple diagrams and manage series in them.
- Copy compatible settings between simple diagrams (Assign).
- Specify the diagram title and customize its appearance (Title).
- Customize individual series and total value labels (OnGetValueLabelDrawParameters and OnGetTotalLabelDrawParameters).
- Obtain the total number of series and the number of visible series in the diagram (SeriesCount and VisibleSeriesCount).
- Add a new series to the diagram (AddSeries).
- Access visible and hidden series by their indexes (VisibleSeries and Series).
- Customize the diagram’s appearance settings (Appearance).
- Rearrange diagrams in a Chart control (Index).
- Hide or display the diagram (Visible).
- Configure the diagram layout (Dimension and Layout).
- Perform the same set of actions on all series in the diagram (ForEachSeries).
- Customize the diagram’s legend settings (Legend).
- Avoid excessive redraw operations during batch data and appearance setting changes (BeginUpdate, CancelUpdate, and EndUpdate).
- Delete all series (DeleteAllSeries).
Example
The following code example creates a simple series with the Doughnut View and populates it with data points in unbound mode:
var
ASimpleDiagram: TdxChartSimpleDiagram;
ASimpleSeries: TdxChartSimpleSeries;
ADoughnutView: TdxChartSimpleSeriesDoughnutView;
begin
dxChartControl1.BeginUpdate; // Initiates the following batch change
try
ASimpleDiagram := dxChartControl1.AddDiagram<TdxChartSimpleDiagram>('Country statistics');
ASimpleDiagram.Title.Appearance.FontOptions.Size := 16;
ASimpleDiagram.Legend.AlignmentHorz := TdxChartLegendAlignment.Near; // Moves the legend pane
ASimpleSeries := ASimpleDiagram.AddSeries('Area'); // Creates a simple series
// Displays series data point arguments on the diagram legend pane
ASimpleSeries.ShowInLegend := TdxChartSeriesShowInLegend.Diagram;
ASimpleSeries.ViewType := 'Doughnut'; // Selects the Doughnut series View
ASimpleSeries.DataBindingType := 'Unbound'; // Selects the unbound data access mode
TdxChartSimpleSeriesUnboundDataBinding(ASimpleSeries.DataBinding).ArgumentField.ValueType := 'string';
ASimpleSeries.Title.Text := 'Area'; // Specifies the series title
// Populates the unbound simple series with data points
ASimpleSeries.Points.Add('Russia', 17.0752);
ASimpleSeries.Points.Add('Canada', 9.98467);
ASimpleSeries.Points.Add('USA', 9.63142);
ASimpleSeries.Points.Add('China', 9.59696);
ASimpleSeries.Points.Add('Brazil', 8.511965);
ASimpleSeries.Points.Add('Australia', 7.68685);
ASimpleSeries.Points.Add('India', 3.28759);
ASimpleSeries.Points.Add('Others', 81.2);
// Customizes appearance of the Doughnut series View
ADoughnutView := ASimpleSeries.View as TdxChartSimpleSeriesDoughnutView;
ADoughnutView.HoleRadius := 50;
ADoughnutView.ExplodedValueOptions.Mode := TdxChartExplodedValueMode.All;
finally
dxChartControl1.EndUpdate; // Calls EndUpdate regardless of the batch operation's success
end;
Diagram Deletion
To delete a diagram, release it directly in code (call the Free procedure in Delphi or use the delete
keyword in C++Builder).
Direct TdxChartSimpleDiagram Class References
The Chart control’s Diagrams and VisibleDiagrams properties reference the TdxChartSimpleDiagram
class as a TdxChartCustomDiagram object. You need to cast it to the TdxChartSimpleDiagram
class to access all public API members.