## GogChart

GogChart — A chart.

## Functions

void | (*GogEnumFunc) ()
gboolean | gog_chart_axis_set_assign ()
gboolean | gog_chart_axis_set_is_valid ()
void | gog_chart_foreach_elem ()
GSList * | gog_chart_get_axes ()
GogAxisSet | gog_chart_get_axis_set ()
void | gog_chart_get_cardinality ()
GogGrid * | gog_chart_get_grid ()
gboolean | gog_chart_get_plot_area ()
GSList * | gog_chart_get_plots ()
gboolean | gog_chart_get_position ()
gboolean | gog_chart_is_3d ()
void | gog_chart_request_cardinality_update ()
void | gog_chart_set_plot_area ()
void | gog_chart_set_position ()
GogViewAllocation const * | gog_chart_view_get_plot_area ()

## Description

GogChart wraps one or more GogPlot objects, so that you can superimpose them on top of each other. In addition, the chart can have a title and a legend.

## Functions

### GogEnumFunc ()

    void
    (*GogEnumFunc) (unsigned  i,
                    gpointer style,
                    char const *name,
                    PangoAttrList *l,
                    gpointer data);

### gog_chart_axis_set_assign ()

    gboolean
    gog_chart_axis_set_assign (GogChart *chart,
                               GogAxisSet type);

### gog_chart_axis_set_is_valid ()

    gboolean
    gog_chart_axis_set_is_valid (GogChart const *chart,
                                 GogAxisSet type);

### gog_chart_foreach_elem ()

    void
    gog_chart_foreach_elem (GogChart *chart,
                            gboolean only_visible,
                            GogEnumFunc handler,
                            gpointer data);

Applies `handler` to children

#### Parameters

chart | GogChart |
only_visible | whether to only apply to visible children |
handler | callback. | [scope call]
data | user data |

### gog_chart_get_axes ()

    GSList *
    gog_chart_get_axes (GogChart const *chart,
                        GogAxisType target);

#### Parameters

chart | GogChart |
target | GogAxisType |

#### Returns

a list which the caller must free of all axis of type `target` associated with `chart` .

[element-type GogAxis][transfer container]

### gog_chart_get_axis_set ()

    GogAxisSet
    gog_chart_get_axis_set (GogChart const *chart);

### gog_chart_get_cardinality ()

    void
    gog_chart_get_cardinality (GogChart *chart,
                               unsigned *full,
                               unsigned *visible);

Update and cache cardinality values if required, and returns full and visible cardinality. Full cardinality is the number of chart elements that require a different style. Visible cardinality is the number of chart elements shown in chart legend.

`full` and `visible` may be `NULL`.

#### Parameters

chart | a GogChart |
full | placeholder for full cardinality |
visible | placeholder for visible cardinality |

### gog_chart_get_grid ()

    GogGrid *
    gog_chart_get_grid (GogChart const *chart);

#### Parameters

chart | GogChart |

#### Returns

the grid associated with `chart` if one exists otherwise NULL.

[transfer none]

### gog_chart_get_plot_area ()

    gboolean
    gog_chart_get_plot_area (GogChart *chart,
                             GogViewAllocation *plot_area);

Stores plot area in plot_area, in fraction of chart size.

#### Parameters

chart | GogChart |
plot_area | GogViewAllocation |

#### Returns

`TRUE` if plot area position is manual.

### gog_chart_get_plots ()

    GSList *
    gog_chart_get_plots (GogChart const *chart);

#### Parameters

chart | GogChart |

#### Returns

the list of the plots in `chart` .

[element-type GogPlot][transfer none]

### gog_chart_get_position ()

    gboolean
    gog_chart_get_position (GogChart const *chart,
                            unsigned *x,
                            unsigned *y,
                            unsigned *cols,
                            unsigned *rows);

#### Parameters

chart | const GogChart |

#### Returns

TRUE if the chart has been positioned.

### gog_chart_is_3d ()

    gboolean
    gog_chart_is_3d (GogChart const *chart);

### gog_chart_request_cardinality_update ()

    void
    gog_chart_request_cardinality_update (GogChart *chart);

### gog_chart_set_plot_area ()

    void
    gog_chart_set_plot_area (GogChart *chart,
                             GogViewAllocation const *plot_area);

If plot_area != NULL, sets plot area size and location, in fraction of chart size, and sets GogChart::is_plot_area_manual flag to TRUE. If plot_area == NULL, sets GogChart::is_plot_area_manual to FALSE.

#### Parameters

chart | GogChart |
plot_area | GogViewAllocation |

### gog_chart_set_position ()

    void
    gog_chart_set_position (GogChart *chart,
                            unsigned int x,
                            unsigned int y,
                            unsigned int cols,
                            unsigned int rows);

#### Parameters

chart | GogChart |

### gog_chart_view_get_plot_area ()

    GogViewAllocation const *
    gog_chart_view_get_plot_area (GogView const *view);

## See Also

GogPlot