addChart

addChart

BASIC / ADVANCED / PREMIUM

Inserts a chart into a Word document.

Description
public addChart ( array $options )

This method allows the insertion of a chart into your Word document.

You may insert many different type of 2D and 3D charts:

  • 2D
    • Bar (clustered, stacked and 100% stacked)
    • Column (clustered, stacked and 100% stacked)
    • Pie (simple, exploded, pie of pie and bar of pie)
    • Doughnut
    • Line
    • Area
    • Surface
    • Radar
    • XY(scatter)
    • Bubble
  • 3D
    • Bar: box (default), cylinder, cone, and pyramid (clustered, stacked and 100% stacked)
    • Column: box (default), cylinder, cone, and pyramid (clustered, stacked and 100% stacked)
    • Pie (simple and exploded)
    • Surface
    • Line
Parameters

options

This is an array with the following possible keys and values.

key Type Description
data array This array should contain the data to be represented in the following format:
array( 'legend' => array('Series 1', 'Series 2', 'Series 3'), 'Data 1' => array('10', 0, 5), 'Data 2' => array('20', 4, 5), 'Data 3' => array('10', 0, 2), 'Data 4' => array('14', 8, 3) )
You should omit the legend array in charts for which each data array only contains one value like, for example, in the case of pie charts.
type String The possible values are:
  • barChart
  • bar3DChart
  • bar3DChartCylinder
  • bar3DChartCone
  • bar3DChartPyramid
  • colChart
  • col3DChart
  • col3DChartCylinder
  • col3DChartCone
  • bar3DChartPyramid
  • pieChart
  • pie3DChart
  • ofPieChart (pie of pie and bar of pie charts)
  • lineChart
  • line3DChart
  • areaChart
  • area3DChart
  • radarChart
  • scatterChart
  • bubbleChart
  • doughnutChart
  • surfaceChart
title string The chart title (if any).
sizeX int The chart width in centimeters (default value aprox 8.5 cm).
sizeY int The chart height in centimeters (default value aprox 6.0 cm).
color int Word color scheme for charts:
  • 1: greyscale
  • 2: default Word color scheme for charts
  • 3: blue scheme
  • For the remaining color schemes (up to 48) check the Word interface
border string Border width in points.
font string The font to be used. Arial, Calibri, ...
chartAlign string Chart alignment: left (default), right or center.
textWrap int The way text shoud wrap the chart. Possible values are (check in the Word interface for the graphical explanation of the different terms):
  • 0 (inline)
  • 1 (square)
  • 2 (front)
  • 3 (back)
  • 4 (up and bottom)

Chart display properties

key Type Description
haxLabel string Label for the horizontal axis.
haxLabelDisplay bool How to display the label of the horizontal axis. Possible values are: vertical, horizontal, rotated.
vaxLabel string Label for the vertical axis.
vaxLabelDisplay bool How to display the label of the horizontal axis. Possible values are: vertical, horizontal, rotated.
hgrid int Horizontal grid. Possible values are:
  • 0 (no grid)
  • 1 (only major grid lines - default)
  • 2 (only minor grid lines)
  • 3 (both major and minor grid lines)
vgrid int Vertical grid. Possible values are:
  • 0 (no grid)
  • 1 (only major grid lines - default)
  • 2 (only minor grid lines)
  • 3 (both major and minor grid lines)
scalingMax float Scaling max value for bar and line charts.
scalingMin float Scaling max value for bar and line charts.
majorUnit float Major unit value for bar and line charts.
minorUnit float Minor unit value for bar and line charts.

The available parameters to display legends and data include:

key Type Description
legendPos string The possible values are:
  • b (bottom)
  • l (left)
  • r (right)
  • t (top)
  • none
legendOverlay bool If true the legend may overlay the chart. This option may hinder the legibility of tha data so it is only recommended if it is crucial to "save space".
showCategory bool If true shows the categories inside the chart.
showTable bool If true shows the chart data in an associated table.
showPercent bool If true shows the percentage values.
showValue bool If true shows the chart data values.

Further configuration options for specific chart types are:

key Type Description
Bar and column charts
groupBar string Different ways to group the data. Possible values are: clustered, stacked, percentStacked and standard.
Pie and doughnut charts
explosion int Distance among different sectors.
holeSize int Size of the inner hole (only doughnut charts).
ofPieCharts: pie of pie and bar of pie charts
subtype string Defines if the auxiliary chart is a pie or bar chart. Possible values are pie or bar.
gapWidth int Distance between the two charts.
secondPieSize int Percentage size of the auxiliary chart.
splitType string How to split the two charts. Possible values are:
  • auto (default split type),
  • cust (custom Split),
  • percent (split by percentage),
  • pos (split by position),
  • val (split by value).
splitPos int Determines the threshold value to split the charts.
custSplit array Custom split. Array (zero based) of values that goes in the second chart. For example: array(3,4,7) will pick the fourth, fifth and eigth value.
Line and scatter (XY) charts
symbol string The possible symbol values are:
  • Line charts: none, dot, plus, square, star, triangle, x, diamond, circle and dash.
  • Scatter charts: dot and line.
symbolSize int The size of the symbol used.
smooth bool If true it smooths the line (only scatter charts).
Radar charts
style string Defines the radar chart style. Possible values are:
  • radar (lines without dots),
  • marker (lines with dots) and
  • filled (filled enclosed area).
Surface charts
wireframe bool If true the surface is shown as a wireframe.

Additional available options for 3D charts:

key Type Description
rotX int Rotation angle respect the vertical axis. Standard values are between 10 and 20 degrees.
rotY int Rotation angle respect the horizontal axis. Standard values are between 10 and 20 degrees.
perspective int Perspective angle. Angles beyond 25 degrees provoke a big distortion in the 3D chart representation.
Return values

Void.

Code samples

Example #1

The resulting Word document looks like:

Example #2

The resulting Word document looks like:

Example #3

The resulting Word document looks like: