SVGGraph options: marker_type
- Option name:
- Default value:
- Added in version:
- Data type:
- string [?]
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(), the number and data types of its members will depend on the option for which is it used.
- A boolean
FALSEvalue, or any values that convert easily such as
- A callable function, which can be either the name of a function or an anonymous function itself.
- 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.
- A colour value or one of the gradients and patterns supported by SVGGraph. See the SVGGraph colours page for details.
- A negative or positive whole number or
- Any number supported by PHP, for example
- Single or double quoted strings. Remember to double-quote your strings
if you are inserting a line break:
"Line 1\nLine 2".
- yes [?]
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.
$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.
- yes [?]
Structure options may also be used as fields in the
structureoption's array to specify overriding settings for each data item. For more details and examples, visit the structured data page.
$settings['widget_grunge'] = 'very'; $settings['structure'] = array( 'key' => 0, 'value' => 1, 'widget_grunge' => 2 );
In this example widgets will be
verygrungy, except when a non-null item with the key 2 in the structured data array sets the grunginess to a different value.
- Supported by:
- BarAndLineGraph BoxAndWhiskerGraph LineGraph MultiLineGraph MultiRadarGraph MultiScatterGraph MultiSteppedLineGraph RadarGraph ScatterGraph StackedBarAndLineGraph StackedLineGraph SteppedLineGraph
Shape of markers.
This option specifies the type of marker to display for line, radar and scatter graphs. The standard types of marker available are:
$settings['marker_type'] = array('diamond', 'x', 'square');
This will draw diamond-shaped markers for dataset 0, "x"-shaped markers for dataset 1 and square markers for dataset 2.
marker_type option also supports image-based markers. The value of the
option should be a string containing
"image:" followed by the path to the
image to be used as a marker:
$settings['marker_type'] = 'image:/images/marker1.png';
This example will use an image called "marker1.png" as the marker. If the image does not exist, the browser will either display a broken image icon or nothing at in place of the marker - check the error console for clues when this happens, as you may have the path to the image incorrect.
Image markers can be used along with standard markers in a per-dataset array:
$settings['marker_type'] = array( 'square', 'image:/images/marker1.png', 'cross', 'image:/images/marker2.png', 'circle' );
This example will use the standard square, cross and circle markers for datasets 0, 2 and 4, and images for datasets 1 and 3.
Version 2.30 added support for figures - user-defined shapes that can be used
as shapes or markers. To use a figure as a marker, create the
figure and then
reference it in the
marker_type as "figure:name of figure":
$settings['marker_type'] = array( 'square', 'figure:mona lisa', 'cross', );
This example uses standard square and cross markers for datasets 0 and 2, and a figure called "mona lisa" as the marker for dataset 1. I've omitted the code that renders the Mona Lisa as a figure because I have better things to do with my life.
From version 2.24 SVGGraph also supports user-defined markers drawn using your
own SVG content - just start the
marker_type string with a "
$settings['marker_type'] = '<rect x="-3.5" y="-1.5" width="7" height="3"/>';
This will use a 7 pixel by 3 pixel rectangle as the marker. Note that the
position of the marker hotspot is at
(0,0), so the X and Y coordinates of the
rectangle are negative to centre the rectangle at the origin.
A marker shape is stored as a
<symbol> in the
<defs> section of the document
and replicated multiple times on the graph with
<use> elements. This means
that the SVG code of the marker can be quite complex without drastically
affecting the size of the SVG document.
Custom markers can be used anywhere that standard or image markers are supported.