## GogChart

GogChart — A chart.

## Synopsis

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

    GogViewAllocation const * gog_chart_view_get_plot_area  (GogView const *view);

    gboolean            gog_chart_is_3d                     (GogChart const *chart);

## Object Hierarchy

      GObject
       +----GogObject
             +----GogStyledObject
                   +----GogOutlinedObject
                         +----GogChart

## Implemented Interfaces

GogChart implements GOStyledObject.

## Properties

      "cardinality-valid"        gboolean              : Read
      "columns"                  gint                  : Read / Write
      "is-plot-area-manual"      gboolean              : Read / Write
      "plot-area"                gchar*                : Read / Write
      "rows"                     gint                  : Read / Write
      "xpos"                     gint                  : Read / Write
      "ypos"                     gint                  : Read / Write

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

### GogChart

    typedef struct _GogChart GogChart;

### gog_axis_set_from_str ()

    GogAxisSet          gog_axis_set_from_str               (char const *str);

`str` : |
Returns : |

### 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_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_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_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_request_cardinality_update ()

    void                gog_chart_request_cardinality_update
                                                            (GogChart *chart);

`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_foreach_elem ()

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

`chart` : |
`only_visible` : |
`handler` : |
`data` : |

### gog_chart_get_plots ()

    GSList *            gog_chart_get_plots                 (GogChart const *chart);

`chart` : |
Returns : |

### gog_chart_get_axis_set ()

    GogAxisSet          gog_chart_get_axis_set              (GogChart const *chart);

`chart` : |
Returns : |

### gog_chart_axis_set_is_valid ()

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

`chart` : |
`type` : |
Returns : |

### gog_chart_axis_set_assign ()

    gboolean            gog_chart_axis_set_assign           (GogChart *chart,
                                                             GogAxisSet type);

`chart` : |
`type` : |
Returns : |

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

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

### gog_chart_view_get_plot_area ()

    GogViewAllocation const * gog_chart_view_get_plot_area  (GogView const *view);

`view` : |
Returns : |

### gog_chart_is_3d ()

    gboolean            gog_chart_is_3d                     (GogChart const *chart);

`chart` : |
Returns : |

## Property Details

### The `"cardinality-valid"` property

      "cardinality-valid"        gboolean              : Read

Is the charts cardinality currently valid.

Default value: FALSE

### The `"columns"` property

      "columns"                  gint                  : Read / Write

Number of columns in graph grid.

Allowed values: >= 1

Default value: 1

### The `"is-plot-area-manual"` property

      "is-plot-area-manual"      gboolean              : Read / Write

Is plot area manual.

Default value: FALSE

### The `"plot-area"` property

      "plot-area"                gchar*                : Read / Write

Position and size of plot area, in percentage of chart size.

Default value: "0 0 1 1"

### The `"rows"` property

      "rows"                     gint                  : Read / Write

Number of rows in graph grid.

Allowed values: >= 1

Default value: 1

### The `"xpos"` property

      "xpos"                     gint                  : Read / Write

Horizontal chart position in graph grid.

Allowed values: >= 0

Default value: 0

### The `"ypos"` property

      "ypos"                     gint                  : Read / Write

Vertical chart position in graph grid.

Allowed values: >= 0

Default value: 0

## See Also

GogPlot