SVGGraph options: structure

« Return to SVGGraph options page

Option name:
structure
Default value:
NULL
Added in version:
2.11
Data type:
array [?]

The datatypes used in this documentation for specifying SVGGraph options are described below. All options can be a literal value of the data type described, a variable containing the data type, or an expression that will produce the data type when evaluated (and they must always be valid PHP expressions).

array
An array(), the number and data types of its members will depend on the option for which is it used.
boolean
A boolean TRUE or FALSE value, or any values that convert easily such as 1, "1", 0 and "".
callback
A callable function, which can be either the name of a function or an anonymous function itself.
colour
Any of the colour values supported by SVG inside a single or double quoted string. These include three and six digit hex codes, RGB and RGBA colours, and colour names. SVG uses "none" for no colour, which generally leaves things transparent.
fill
A colour value or one of the gradients and patterns supported by SVGGraph. See the SVGGraph colours page for details.
integer
A negative or positive whole number or 0.
number
Any number supported by PHP, for example 1 or -3.2 or 1.63e5 or M_PI.
string
Single or double quoted strings. Remember to double-quote your strings if you are inserting a line break: "Line 1\nLine 2".
Per-dataset:
no [?]

Per-dataset options allow specifying one option for all datasets or an array of options to be used for each dataset in turn. If there are more datasets than entries in the option array, the sequence will be repeated.

Example:

$settings['widget_taste'] = 'banana';
$settings['widget_colour'] = array('red', 'green', 'blue');

For this example, the widgets for all datasets will taste of banana. The graph will use red widgets for dataset 0, green widgets for dataset 1 and blue widgets for dataset 2. Dataset 3 repeats the sequence so its widgets will be red, dataset 4 will have green widgets and dataset 5 will have blue widgets.

Supported by:
Bar3DGraph BarAndLineGraph BarGraph BoxAndWhiskerGraph BubbleGraph CylinderGraph DonutGraph ExplodedPieGraph FloatingBarGraph GroupedBar3DGraph GroupedBarGraph GroupedCylinderGraph Histogram HorizontalBarGraph HorizontalFloatingBarGraph HorizontalGroupedBarGraph HorizontalStackedBarGraph LineGraph MultiLineGraph MultiRadarGraph MultiScatterGraph Pie3DGraph PieGraph PolarAreaGraph PopulationPyramid RadarGraph ScatterGraph SemiDonutGraph StackedBar3DGraph StackedBarAndLineGraph StackedBarGraph StackedCylinderGraph StackedGroupedBar3DGraph StackedGroupedBarGraph StackedGroupedCylinderGraph StackedLineGraph
Tags:
global structure

Sets the structure for use with structured data.

This option sets the structure of the data for use by SVGGraph when using structured data. If the structured_data option is not set, setting the structure option will automatically enable structured data.

The structure option should be an array containing a mapping between the fields of the data item arrays and the data fields used by SVGGraph. The only required fields are "key" and "value".

Here is a simple example of a data table:

A B C D E
1 2 3 3 4
2 3 4 5 6

I've named the fields "A" to "E" to keep the examples short, hopefully your data will have more meaningful field names.

When converted to a PHP structured data array the data table will look like this:

$values = array(
  array('A' => 1, 'B' => 2, 'C' => 3, 'D' => 3, 'E' => 4),
  array('A' => 2, 'B' => 3, 'C' => 4, 'D' => 5, 'E' => 6),
);

The simplest structure option you could set to use this data is:

$settings['structure'] = array('key' => 'A', 'value' => 'B');

Field "A" is used as the key and "B" is used as a value. There will only be one dataset available to the graphs for plotting, and the fields "C", "D" and "E" will be ignored.

This is actually simpler than the default structure SVGGraph would use if only the structured_data option is set - that would use fields "B" to "E" as data values.

Here is a more complex example:

$settings['structure'] = array(
  'key'         => 'C',
  'value'       => array('A', 'B'),
  'marker_size' => array('D', NULL),
  'axis_text'   => 'E',
);

This example uses field "C" as the key instead of "A", which is used as a value field along with "B". The graph will have two datasets available for plotting.

The next entry sets the marker_size option used by line and scatter graphs. The size of the marker for dataset 0 (mapped to field "A") will come from field "D", while the NULL means that the markers for dataset 1 (from field "B") will use the global setting.

Finally, the axis_text option set to "E" means that the text underneath the axis at key positions 3 and 4 (from the key field "C") will be the values 4 and 6.

For full details of the supported fields and more examples, please visit the structured data page.

See also:
structured_data

« Back to top of page Main SVGGraph page »