ChartDirector Ver 3.1 (PHP Edition Edition)

ChartDirector Object Model Overview


This section will give a very brief high level overview of the ChartDirector object model.

At the top level, ChartDirector classifies charts into four main classes - PieChart, XYChart, PolarChart and MultiChart. They are all subclass of BaseChart.

BaseChart

The BaseChart class represents features common to all ChartDirector charts, such as the chart background, legend box, titles and custom text boxes. 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. 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. Each XYChart object contains a PlotArea object, representing the rectangular region where the chart is actually drawn. Each XYChart object also contains four Axis objects, representing two x axes and two y axes located objects at the four borders of the PlotArea.

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.

LayerDescription
BarLayer Represent all style of bar charts, such as simple bar charts, multi-bar charts, stacked bar charts, multi-stacked bar charts, percectange bar charts, depth bar charts.
LineLayer Represent line charts.
SplineLayer Represent spline line charts.
StepLineLayer Represent step line charts.
TrendLayer Represent trend line charts. A trend line the best fit straight line computed using the least square method.
InterLineLayer A layer used for filling regions between two lines. The lines can come from LineLayer, SplineLayer, StepLineLayer, TrendLayer, or from Mark.
ScatterLayer Represents scatter and bubble charts.
AreaLayer Represent area charts.
HLOCLayer Represent high-low-open-close charts.
CandleStickLayer Represent candlestick charts.
BoxWhiskerLayer Represent box-whisker charts.

The above layers are subclass of 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.

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.

LayerDescription
PolarLineLayer Represent line charts, as well as scatter and bubble charts. (A scatter chart is a line chart with line set to Transparent. A bubble chart is a scatter chart in which the data symbols are of variable sizes.)
PolarAreaLayer Represent area charts.
PolarSplineLineLayer Represent spline line charts.
PolarSplineAreaLayer Represent spline area charts.

The above layers are subclass of the PolarLayer class, which represents features common to all layers.

MultiChart

A MultiChart object is a container for containing other BaseChart objects, including PieChart, XYChart, PolarChart and other MultiChart objects.