SVGGraph options: marker_type

« Return to previous page

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).

An array, the number and data types of its members will depend on the option for which is it used.
A boolean TRUE or FALSE value, or any values that convert easily such as 1, "1", 0 and "".
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 0.
An integer or float value, or a string containing a number followed by one of these CSS units: px, in, cm, mm, pt, pc.
Any number supported by PHP, for example 1 or -3.2 or 1.63e5 or M_PI.
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 structure option'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 very grungy, 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
marker line scatter radar structure shape figure

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:

"circle", "square", "triangle", "cross", "x", "pentagon", "diamond", "hexagon", "octagon", "asterisk", "star", "threestar", "fourstar" and "eightstar"


$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.

Image markers

The 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(

This example will use the standard square, cross and circle markers for datasets 0, 2 and 4, and images for datasets 1 and 3.

Figure markers

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(
  'figure:mona lisa',

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.

Custom markers

From version 2.24 SVGGraph also supports user-defined markers drawn using your own SVG content - just start the marker_type string with a "<" less-than angle bracket:

$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.

See also:
marker_size marker_colour marker_angle marker_opacity figure

« Back to top of page Main SVGGraph page »

This site uses cookies - details here.