ChartDirector 7.1 (C++ Edition)
ChartDirector Object Model Overview
This section will give a very brief high level overview of the ChartDirector object model, which may be helpful for understanding of subsequent ChartDirector tutorials. The full details object model and API are documented in the
ChartDirector Reference section.
The Top Level
At the top level, all ChartDirector charts (including meters) are subclass of the
BaseChart class. The following describes the top level class hierarchy.
- BaseChart : Base class for all charts (including meters) in ChartDirector.
- PieChart : Represents pie and donut charts
- XYChart : Represents all charts that have x and y axes but are not true 3D chart types.
- ThreeDChart : Base class for all true 3D chart types
- PolarChart : Represents all charts that uses polar coordinates.
- TreeMapChart: Represents tree map charts.
- PyramidChart : Represents pyramid, cone and funnel charts.
- BaseMeter : Base class for all meters in ChartDirector.
- MultiChart : A container chart that can be used to combine multiple BaseChart objects together.
BaseChart
The
BaseChart class represents features common to all ChartDirector charts, such as the chart background, legend box (
LegendBox), titles and custom text boxes (
TextBox). It also contains a
DrawArea tool, which allows you to add arbitrary custom drawings to the chart.
PieChart
The
PieChart class, as it name implies, represents pie charts, including donut charts. PieChart objects contain
Sector objects, which represent the sectors in the pie charts.
XYChart
The
XYChart class represents all chart types that have x and y axes but are not true 3D chart types. Each XYChart object contains a
PlotArea object, representing the rectangular region where the chart is actually drawn. A XYChart also contains
Axis objects, representing the x and y axes.
The actual chart types in a XYChart are implemented as layers. The available layers are listed below. A XYChart can contain many layers, so combination and custom chart types can easily be created.
The above layers are derived from the
Layer class, which represents features common to all layers.
Each chart layer contains one or more
DataSet objects. A DataSet object represents a data series. Several chart types require multiple data series, such as high-low-open-close, candlestick and box-whisker charts. Other chart types support combining the data series in various ways. For example, in a bar chart, multiple data series can be combined to form a stacked bar chart, percentage bar chart, multi-bar chart, multi-stacked bar chart, etc.
ThreeDChart
The
ThreeDChart class is the base class for true 3D chart types. It represents features common to all true 3D chart types, such as controlling the elevation, rotation and twist angles, 3D perspective, 3D plot region position, size and the style of the boundary walls.
SurfaceChart
The
SurfaceChart class represents surface charts. A surface chart is a true 3D chart representing the value of a variable (the z coordinate) over the (x, y) plane.
ThreeDScatterChart
The
ThreeDScatterChart class represents 3D scatter charts. A scatter chart is a true 3D chart representing (x, y, z) data points with symbols. A single chart can control multiple groups of symbols of different styles, represented using
ThreeDScatterGroup objects.
PolarChart
The
PolarChart class represents polar and radar charts. Each PolarChart object contains a
RadialAxis and an
AngularAxis. The actual chart types in a PolarChart are implemented as layers. A PolarChart can contain many layers, so combination and custom chart types can easily be created.
The available layers are listed below.
The above layers are derived from the
PolarLayer class, which represents features common to all layers.
TreeMapChart
The
TreeMapChart class represents tree map charts. A tree map chart partitions a rectangle into smaller rectangles proportional to their data values. The smaller rectangles in turn can be partitioned to even smaller rectangles. It can be used to visualize data structure that have multiple levels of branching.
PyramidChart
The
PyramidChart class represents pyramid, cone and funnel charts. PyramidChart objects contain
PyramidLayer objects, which represent the layers in the pyramid, cone and funnel charts.
BaseMeter
The
BaseMeter class is the base class for all meters. It represents features common to all meters. A BaseMeter object contains
MeterPointer objects for representing meter pointers.
AngularMeter
The
AngularMeter class represents angular meters, which are meters of which the meter pointers rotate to show the readings.
LinearMeter
The
LinearMeter class represents horizontal and vertical linear meters, including bar meters. They are meters which show the readings with the linear movement of meter pointers or the lengths of bars.
MultiChart
A
MultiChart object is a container for combining multiple
BaseChart objects into a combined chart object.
FinanceChart
FinanceChart is a financial charting library built on top of the main ChartDirector library. It extends
MultiChart by implementing many financial indicators, and allowing complex financial charts to be composed easily.
© 2023 Advanced Software Engineering Limited. All rights reserved.