## GogChart

GogChart — A chart.

## Synopsis

    void                (*GogEnumFunc)                      (unsigned  i,
                                                             gpointer style,
                                                             char const *name,
                                                             PangoAttrList *l,
                                                             gpointer data);
    gboolean            gog_chart_axis_set_assign           (GogChart *chart,
                                                             GogAxisSet type);
    gboolean            gog_chart_axis_set_is_valid         (GogChart const *chart,
                                                             GogAxisSet type);
    void                gog_chart_foreach_elem              (GogChart *chart,
                                                             gboolean only_visible,
                                                             GogEnumFunc handler,
                                                             gpointer data);
    GSList *            gog_chart_get_axes                  (GogChart const *chart,
                                                             GogAxisType target);
    GogAxisSet          gog_chart_get_axis_set              (GogChart const *chart);
    void                gog_chart_get_cardinality           (GogChart *chart,
                                                             unsigned *full,
                                                             unsigned *visible);
    GogGrid *           gog_chart_get_grid                  (GogChart const *chart);
    gboolean            gog_chart_get_plot_area             (GogChart *chart,
                                                             GogViewAllocation *plot_area);
    GSList *            gog_chart_get_plots                 (GogChart const *chart);
    gboolean            gog_chart_get_position              (GogChart const *chart,
                                                             unsigned *x,
                                                             unsigned *y,
                                                             unsigned *cols,
                                                             unsigned *rows);
    gboolean            gog_chart_is_3d                     (GogChart const *chart);
    void                gog_chart_request_cardinality_update
                                                            (GogChart *chart);
    void                gog_chart_set_plot_area             (GogChart *chart,
                                                             GogViewAllocation const *plot_area);
    void                gog_chart_set_position              (GogChart *chart,
                                                             unsigned int x,
                                                             unsigned int y,
                                                             unsigned int cols,
                                                             unsigned int rows);
    GogViewAllocation const * gog_chart_view_get_plot_area  (GogView const *view);

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

## Details

### 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

`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);

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

`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);

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

`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);

`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);

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

`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);

`chart` : | GogChart

### gog_chart_view_get_plot_area ()

    GogViewAllocation const * gog_chart_view_get_plot_area  (GogView const *view);

## See Also

GogPlot