GooBox2d

GooBox2d — box plot (scaled by a GooAxis).

Synopsis

struct              GooBox2d;
struct              GooBox2dClass;
GooBox2d *          goo_box2d_new                       (GooCanvasItem *Parent,
                                                         GooAxis *Axis,
                                                         GooDataPoints *Dat,
                                                         ...);
void                goo_box2d_get_outliers_properties   (GooBox2d *Box2d,
                                                         ...);
void                goo_box2d_get_whiskers_properties   (GooBox2d *Box2d,
                                                         ...);
void                goo_box2d_set_outliers_properties   (GooBox2d *Box2d,
                                                         ...);
void                goo_box2d_set_whiskers_properties   (GooBox2d *Box2d,
                                                         ...);

Object Hierarchy

  GObject
   +----GooCanvasItemSimple
         +----GooCanvasGroup
               +----GooBox2d

Implemented Interfaces

GooBox2d implements GooCanvasItem.

Properties

  "boxes"                    gchar                 : Read / Write
  "channels"                 gchar                 : Read / Write
  "outliers"                 gchar                 : Read / Write

Description

GooBox2d is a subclass of GooCanvasGroup and so inherits all of the style properties such as "stroke-color", "fill-color" and "line-width". It also inherits the GooCanvasItem interface, so you can use the GooCanvasItem functions such as goo_canvas_item_raise() and goo_canvas_item_rotate().

To create a GooBox2d use goo_box2d_new().

All box plots can be orientated in horizontal or vertical direction depending on the axis used for scaling. A vertical axis (ie GOO_AXIS_WEST or GOO_AXIS_EAST) causes boxes in vertical direction.

The GooBox2d group contains these childs:

  • a GooCanvasPath for the whiskers

  • a GooCanvasPath for the boxes

  • a GooCanvasPath for the outliers

The childrens are drawn in the given order, so the outliers (if any) will be on top and the whiskers are in the background.

To set or get individual properties for the childs use the functions goo_box2d_[get|set]_XYZ_properties with XYZ for whiskers or outliers. The remaining item (boxes) is contolled directly by the GooBox2d properties.

Details

struct GooBox2d

struct GooBox2d;

The GooBox2d struct contains private data only.


struct GooBox2dClass

struct GooBox2dClass;

The GooBox2dClass struct contains private data only.


goo_box2d_new ()

GooBox2d *          goo_box2d_new                       (GooCanvasItem *Parent,
                                                         GooAxis *Axis,
                                                         GooDataPoints *Dat,
                                                         ...);

Create a new box chart item from values in Dat. By default channel 0 (zero) is used. Specify an alternative set of channels by "channels". Each row gets one box, the boxes are all the same wide.

Parent :

the parent item, or NULL. If a parent is specified, it will assume ownership of the item, and the item will automatically be freed when it is removed from the parent. Otherwise call g_object_unref() to free it.

Axis :

the axis to scale the values

Dat :

the data values to draw with

... :

optional pairs of property names and values, and a terminating NULL.

Returns :

a new bar item. [transfer full]

Since 0.0


goo_box2d_get_outliers_properties ()

void                goo_box2d_get_outliers_properties   (GooBox2d *Box2d,
                                                         ...);

Get one or more properties of the outliers GooCanvasPath.

Box2d :

a GooBox2d

... :

optional pairs of property names and values, and a terminating NULL.

Since 0.0


goo_box2d_get_whiskers_properties ()

void                goo_box2d_get_whiskers_properties   (GooBox2d *Box2d,
                                                         ...);

Get one or more properties of the whiskers GooCanvasPath.

Box2d :

a GooBox2d

... :

optional pairs of property names and values, and a terminating NULL.

Since 0.0


goo_box2d_set_outliers_properties ()

void                goo_box2d_set_outliers_properties   (GooBox2d *Box2d,
                                                         ...);

Set one or more properties for the outliers GooCanvasPath.

Box2d :

a GooBox2d

... :

optional pairs of property names and values, and a terminating NULL.

Since 0.0


goo_box2d_set_whiskers_properties ()

void                goo_box2d_set_whiskers_properties   (GooBox2d *Box2d,
                                                         ...);

Set one or more properties for the whiskers GooCanvasPath.

Box2d :

a GooBox2d

... :

optional pairs of property names and values, and a terminating NULL.

Since 0.0

Property Details

The "boxes" property

  "boxes"                    gchar                 : Read / Write

The style of the boxes and whiskers. By default the boxes fill 80 percent of the natural width (the place in the graph for one box), they have no waist (0 percent) and the whisker lines are as long as the boxes width (100 percent). These lenghts can be changed by this property. This may contain

  • no value to use the default style. Example "" or NULL.

  • one value to set the width of the boxes as a factor of the natural width in the range of [0.0, 1.0]. Example: "0.5" for 50 percent box width.

  • two values to set the width and the waist of the box. The waist is specified as a factor of the box width in the range of [0.0, 1.0] and it defaults to 0.0. The size of the waist gets limited when there's not enough space in the box. Example: "0.5 0.6" for boxes 50 percent wide and with a waist of 60 percent.

  • three values to set width and waist of the box and the width of the whisker lines. The whisker width is specified as a factor of the box width in the range of [0.0, 1.0] and it defaults to 1.0. Example: "0.5 0.6 0.4" for a box 50 percent wide, 60 percent waist and 40 percent whisker line width.

The minimum width of a box is 10 percent.

Default value: NULL

Since 0.0


The "channels" property

  "channels"                 gchar                 : Read / Write

The channels (columns) in the Dat array for the box chart. This may contain

  • no value to use the default channel (= 0). Example "" or NULL.

  • one or more values to set channels for a graph with one box for each column. Example: "7 9" to draw a graph with two boxes for channels 7 and 9 in Dat.

When a channel number is greater than the number of columns in Dat no box chart will be drawn.

Default value: NULL

Since 0.0


The "outliers" property

  "outliers"                 gchar                 : Read / Write

The style of the outliers. Outliers occur when the lengths of the whiskers are limited or when an amount of values is specified to be outliers. The later is specified by the start letter 'p'. Without this start letter the lengths of the whiskers are limited by a multiple of the interquartile range (= IQR, also called the midspread or middle fifty). By default no outliers will be drawn. This may contain

  • no value to use the default outlier style. Example "" or NULL.

  • one value to set the length of the whiskers as a factor of the box length (IQR). Example: "0.5" to set the whiskers length to a maximum of 50 percent IQR.

  • two values to set the whiskers length and the markers size. The markers size is set as a faktor of the box width. Example: "0.5 0.2" for a whiskers length of 50 percent IQR and a markers size of 20 percent of the box width.

  • three values to set whiskers length, markers size and markers type. The markers type is set as a GooDataMarkers value. Example: "0.5 0.2 " & GOO_MARKER_CIRCLE for a whiskers length of 50 percent IQR, a markers size of 20 percent of the box width and circled markers.

  • the start letter 'p' and one value to set the length of the whiskers as a factor of the box length (interquartile range = IQR, also called the midspread or middle fifty). Example: "0.5" to set the whiskers length to a maximum of 50 percent IQR.

  • the start letter 'p' and two values to set the whiskers lengths and the markers size. The markers size is set as a faktor of the box width. Example: "0.5 0.2" for a whiskers length of 50 percent IQR and a markers size of 20 percent of the box width.

  • the start letter 'p' and three values to set whiskers lengths, markers size and markers type. The markers type is set as a GooDataMarkers value. Example: "0.5 0.2 " & GOO_MARKER_CIRCLE for a whiskers length of 50 percent IQR, a markers size of 20 percent of the box width and circled markers.

Default value: NULL

Since 0.0