## GtkPlot GtkPlot — 2d scientific plots widget |

## Synopsis

    #include <gtkextra.h>

                        GtkPlot;
                        GtkPlotAxis;
                        GtkPlotText;
                        GtkPlotLine;
                        GtkPlotSymbol;
                        GtkPlotTick;
                        GtkPlotTicks;
                        GtkPlotVector;
                        GtkPlotMarker;
    gdouble             (*GtkPlotFunc)                      (GtkPlot *plot,
                                                             GtkPlotData *data,
                                                             gdouble x,
                                                             gboolean *error);
    gdouble             (*GtkPlotFunc3D)                    (GtkPlot *plot,
                                                             GtkPlotData *data,
                                                             gdouble x,
                                                             gdouble y,
                                                             gboolean *error);
    void                (*GtkPlotIterator)                  (GtkPlot *plot,
                                                             GtkPlotData *data,
                                                             gint iter,
                                                             gdouble *x,
                                                             gdouble *y,
                                                             gdouble *z,
                                                             gdouble *a,
                                                             gdouble *dx,
                                                             gdouble *dy,
                                                             gdouble *dz,
                                                             gdouble *da,
                                                             gchar **label,
                                                             gboolean *error);
    enum                GtkPlotScale;
    enum                GtkPlotSymbolType;
    enum                GtkPlotSymbolStyle;
    enum                GtkPlotBorderStyle;
    enum                GtkPlotLineStyle;
    enum                GtkPlotConnector;
    enum                GtkPlotLabelPos;
    enum                GtkPlotError;
    enum                GtkPlotOrientation;
    enum                GtkPlotAxisPos;
    enum                GtkPlotLabelStyle;
    enum                GtkPlotTicksPos;
    void                (*GtkPlotTicksAutoscaleFunc)        (GtkPlotAxis *axis,
                                                             gdouble xmin,
                                                             gdouble xmax,
                                                             gint *precision);
    gdouble             (*GtkPlotTicksInverseFunc)          (GtkPlotAxis *axis,
                                                             gdouble y);
    void                (*GtkPlotTicksRecalcFunc)           (GtkPlotAxis *axis);
    gdouble             (*GtkPlotTicksTransformFunc)        (GtkPlotAxis *axis,
                                                             gdouble y);
    void                (*GtkPlotParseLabelFunc)            (GtkPlotAxis *axis,
                                                             gdouble val,
                                                             gint precision,
                                                             gint style,
                                                             gchar *label);
    GtkWidget *         gtk_plot_new                        (GdkDrawable *drawable);
    GtkWidget *         gtk_plot_new_with_size              (GdkDrawable *drawable,
                                                             gdouble width,
                                                             gdouble height);
    void                gtk_plot_construct                  (GtkPlot *plot,
                                                             GdkDrawable *drawable);
    void                gtk_plot_construct_with_size        (GtkPlot *plot,
                                                             GdkDrawable *drawable,
                                                             gdouble width,
                                                             gdouble height);
    void                gtk_plot_set_drawable               (GtkPlot *plot,
                                                             GdkDrawable *drawable);
    GdkDrawable *       gtk_plot_get_drawable               (GtkPlot *plot);
    void                gtk_plot_set_pc                     (GtkPlot *plot,
                                                             GtkPlotPC *pc);
    void                gtk_plot_set_background_pixmap      (GtkPlot *plot,
                                                             GdkPixmap *pixmap);
    void                gtk_plot_set_transparent            (GtkPlot *plot,
                                                             gboolean transparent);
    gboolean            gtk_plot_is_transparent             (GtkPlot *plot);
    void                gtk_plot_get_position               (GtkPlot *plot,
                                                             gdouble *x,
                                                             gdouble *y);
    void                gtk_plot_get_size                   (GtkPlot *plot,
                                                             gdouble *width,
                                                             gdouble *height);
    GtkAllocation       gtk_plot_get_internal_allocation    (GtkPlot *plot);
    void                gtk_plot_set_background             (GtkPlot *plot,
                                                             const GdkColor *bg_color);
    void                gtk_plot_paint                      (GtkPlot *plot);
    void                gtk_plot_refresh                    (GtkPlot *plot,
                                                             GdkRectangle *drawing_area);
    void                gtk_plot_move                       (GtkPlot *plot,
                                                             gdouble x,
                                                             gdouble y);
    void                gtk_plot_resize                     (GtkPlot *plot,
                                                             gdouble width,
                                                             gdouble height);
    void                gtk_plot_set_magnification          (GtkPlot *plot,
                                                             gdouble magnification);
    void                gtk_plot_move_resize                (GtkPlot *plot,
                                                             gdouble x,
                                                             gdouble y,
                                                             gdouble width,
                                                             gdouble height);
    void                gtk_plot_get_pixel                  (GtkPlot *plot,
                                                             gdouble xx,
                                                             gdouble yy,
                                                             gdouble *x,
                                                             gdouble *y);
    void                gtk_plot_get_point                  (GtkPlot *plot,
                                                             gint x,
                                                             gint y,
                                                             gdouble *xx,
                                                             gdouble *yy);
    void                gtk_plot_clip_data                  (GtkPlot *plot,
                                                             gboolean clip);
    void                gtk_plot_set_xrange                 (GtkPlot *plot,
                                                             gdouble xmin,
                                                             gdouble xmax);
    void                gtk_plot_set_yrange                 (GtkPlot *plot,
                                                             gdouble ymin,
                                                             gdouble ymax);
    void                gtk_plot_set_range                  (GtkPlot *plot,
                                                             gdouble xmin,
                                                             gdouble xmax,
                                                             gdouble ymin,
                                                             gdouble ymax);
    void                gtk_plot_autoscale                  (GtkPlot *plot);
    void                gtk_plot_get_xrange                 (GtkPlot *plot,
                                                             gdouble *xmin,
                                                             gdouble *xmax);
    void                gtk_plot_get_yrange                 (GtkPlot *plot,
                                                             gdouble *ymin,
                                                             gdouble *ymax);
    void                gtk_plot_set_xscale                 (GtkPlot *plot,
                                                             GtkPlotScale scale_type);
    void                gtk_plot_set_yscale                 (GtkPlot *plot,
                                                             GtkPlotScale scale_type);
    GtkPlotScale        gtk_plot_get_xscale                 (GtkPlot *plot);
    GtkPlotScale        gtk_plot_get_yscale                 (GtkPlot *plot);
    void                gtk_plot_reflect_x                  (GtkPlot *plot,
                                                             gboolean reflect);
    void                gtk_plot_reflect_y                  (GtkPlot *plot,
                                                             gboolean reflect);
    gboolean            gtk_plot_is_x_reflected             (GtkPlot *plot);
    gboolean            gtk_plot_is_y_reflected             (GtkPlot *plot);
    GtkPlotText *       gtk_plot_put_text                   (GtkPlot *plot,
                                                             gdouble x,
                                                             gdouble y,
                                                             const gchar *font,
                                                             gint height,
                                                             gint angle,
                                                             const GdkColor *fg,
                                                             const GdkColor *bg,
                                                             gboolean transparent,
                                                             GtkJustification justification,
                                                             const gchar *text);
    gint                gtk_plot_remove_text                (GtkPlot *plot,
                                                             GtkPlotText *text);
    void                gtk_plot_text_get_size              (const gchar *text,
                                                             gint angle,
                                                             const gchar *text_font,
                                                             gint text_height,
                                                             gint *width,
                                                             gint *height,
                                                             gint *ascent,
                                                             gint *descent);
    void                gtk_plot_text_get_area              (const gchar *text,
                                                             gint angle,
                                                             GtkJustification just,
                                                             const gchar *font_name,
                                                             gint font_size,
                                                             gint *x,
                                                             gint *y,
                                                             gint *width,
                                                             gint *height);
    void                gtk_plot_text_set_attributes        (GtkPlotText *text_attr,
                                                             const gchar *font,
                                                             gint height,
                                                             gint angle,
                                                             const GdkColor *fg,
                                                             const GdkColor *bg,
                                                             gboolean transparent,
                                                             GtkJustification justification,
                                                             const gchar *text);
    void                gtk_plot_text_set_border            (GtkPlotText *text,
                                                             GtkPlotBorderStyle border,
                                                             gint border_space,
                                                             gint border_width,
                                                             gint shadow_width);
    void                gtk_plot_draw_line                  (GtkPlot *plot,
                                                             GtkPlotLine line,
                                                             gdouble x1,
                                                             gdouble y1,
                                                             gdouble x2,
                                                             gdouble y2);
    void                gtk_plot_draw_text                  (GtkPlot *plot,
                                                             GtkPlotText text);
    void                gtk_plot_set_ticks                  (GtkPlot *plot,
                                                             GtkPlotOrientation orientation,
                                                             gdouble major_step,
                                                             gint nminor);
    void                gtk_plot_set_major_ticks            (GtkPlot *plot,
                                                             GtkPlotOrientation orientation,
                                                             gdouble major_step);
    void                gtk_plot_set_minor_ticks            (GtkPlot *plot,
                                                             GtkPlotOrientation orientation,
                                                             gint nminor);
    void                gtk_plot_set_ticks_limits           (GtkPlot *plot,
                                                             GtkPlotOrientation orientation,
                                                             gdouble begin,
                                                             gdouble end);
    void                gtk_plot_unset_ticks_limits         (GtkPlot *plot,
                                                             GtkPlotOrientation orientation);
    void                gtk_plot_set_break                  (GtkPlot *plot,
                                                             GtkPlotOrientation orientation,
                                                             gdouble min,
                                                             gdouble max,
                                                             gdouble step_after,
                                                             gint nminor_after,
                                                             GtkPlotScale scale_after,
                                                             gdouble pos);
    void                gtk_plot_remove_break               (GtkPlot *plot,
                                                             GtkPlotOrientation orientation);
    GtkObject *         gtk_plot_axis_new                   (GtkPlotOrientation orientation);
    void                gtk_plot_axis_construct             (GtkPlotAxis *axis,
                                                             GtkPlotOrientation orientation);
    GtkPlotAxis *       gtk_plot_get_axis                   (GtkPlot *plot,
                                                             GtkPlotAxisPos axis);
    void                gtk_plot_axis_set_visible           (GtkPlotAxis *axis,
                                                             gboolean visible);
    gboolean            gtk_plot_axis_visible               (GtkPlotAxis *axis);
    void                gtk_plot_axis_set_title             (GtkPlotAxis *axis,
                                                             const gchar *title);
    void                gtk_plot_axis_show_title            (GtkPlotAxis *axis);
    void                gtk_plot_axis_hide_title            (GtkPlotAxis *axis);
    void                gtk_plot_axis_move_title            (GtkPlotAxis *axis,
                                                             gint angle,
                                                             gdouble x,
                                                             gdouble y);
    void                gtk_plot_axis_justify_title         (GtkPlotAxis *axis,
                                                             GtkJustification justification);
    void                gtk_plot_axis_set_attributes        (GtkPlotAxis *axis,
                                                             gfloat width,
                                                             const GdkColor *color);
    void                gtk_plot_axis_get_attributes        (GtkPlotAxis *axis,
                                                             gfloat *width,
                                                             GdkColor *color);
    void                gtk_plot_axis_set_ticks             (GtkPlotAxis *axis,
                                                             gdouble major_step,
                                                             gint nminor);
    void                gtk_plot_axis_set_major_ticks       (GtkPlotAxis *axis,
                                                             gdouble major_step);
    void                gtk_plot_axis_set_minor_ticks       (GtkPlotAxis *axis,
                                                             gint nminor);
    void                gtk_plot_axis_set_ticks_length      (GtkPlotAxis *axis,
                                                             gint length);
    void                gtk_plot_axis_set_ticks_width       (GtkPlotAxis *axis,
                                                             gfloat width);
    void                gtk_plot_axis_show_ticks            (GtkPlotAxis *axis,
                                                             gint major_mask,
                                                             gint minor_mask);
    void                gtk_plot_axis_set_ticks_limits      (GtkPlotAxis *axis,
                                                             gdouble begin,
                                                             gdouble end);
    void                gtk_plot_axis_unset_ticks_limits    (GtkPlotAxis *axis);
    void                gtk_plot_axis_set_tick_labels       (GtkPlotAxis *axis,
                                                             GtkPlotArray *array);
    void                gtk_plot_axis_set_break             (GtkPlotAxis *axis,
                                                             gdouble min,
                                                             gdouble max,
                                                             gdouble step_after,
                                                             gint nminor_after,
                                                             GtkPlotScale scale_after,
                                                             gdouble pos);
    void                gtk_plot_axis_remove_break          (GtkPlotAxis *axis);
    void                gtk_plot_axis_show_labels           (GtkPlotAxis *axis,
                                                             gint labels_mask);
    void                gtk_plot_axis_title_set_attributes  (GtkPlotAxis *axis,
                                                             const gchar *font,
                                                             gint height,
                                                             gint angle,
                                                             const GdkColor *fg,
                                                             const GdkColor *bg,
                                                             gboolean transparent,
                                                             GtkJustification justification);
    void                gtk_plot_axis_set_labels_attributes (GtkPlotAxis *axis,
                                                             const gchar *font,
                                                             gint height,
                                                             gint angle,
                                                             const GdkColor *fg,
                                                             const GdkColor *bg,
                                                             gboolean transparent,
                                                             GtkJustification justification);
    #define             gtk_plot_axis_set_labels_numbers
    void                gtk_plot_axis_set_labels_style      (GtkPlotAxis *axis,
                                                             GtkPlotLabelStyle style,
                                                             gint precision);
    void                gtk_plot_axis_set_labels_offset     (GtkPlotAxis *axis,
                                                             gint offset);
    gint                gtk_plot_axis_get_labels_offset     (GtkPlotAxis *axis);
    void                gtk_plot_axis_use_custom_tick_labels
                                                            (GtkPlotAxis *axis,
                                                             gboolean use);
    void                gtk_plot_axis_set_labels_suffix     (GtkPlotAxis *axis,
                                                             const gchar *text);
    void                gtk_plot_axis_set_labels_prefix     (GtkPlotAxis *axis,
                                                             const gchar *text);
    gchar *             gtk_plot_axis_get_labels_suffix     (GtkPlotAxis *axis);
    gchar *             gtk_plot_axis_get_labels_prefix     (GtkPlotAxis *axis);
    void                gtk_plot_axis_ticks_recalc          (GtkPlotAxis *axis);
    void                gtk_plot_axis_ticks_autoscale       (GtkPlotAxis *axis,
                                                             gdouble xmin,
                                                             gdouble xmax,
                                                             gint *precision);
    gdouble             gtk_plot_axis_ticks_transform       (GtkPlotAxis *axis,
                                                             gdouble y);
    gdouble             gtk_plot_axis_ticks_inverse         (GtkPlotAxis *axis,
                                                             gdouble x);
    void                gtk_plot_axis_parse_label           (GtkPlotAxis *axis,
                                                             gdouble val,
                                                             gint precision,
                                                             gint style,
                                                             gchar *label);
    void                gtk_plot_x0_set_visible             (GtkPlot *plot,
                                                             gboolean visible);
    gboolean            gtk_plot_x0_visible                 (GtkPlot *plot);
    void                gtk_plot_y0_set_visible             (GtkPlot *plot,
                                                             gboolean visible);
    gboolean            gtk_plot_y0_visible                 (GtkPlot *plot);
    void                gtk_plot_grids_set_on_top           (GtkPlot *plot,
                                                             gboolean on_top);
    gboolean            gtk_plot_grids_on_top               (GtkPlot *plot);
    void                gtk_plot_grids_set_visible          (GtkPlot *plot,
                                                             gboolean vmajor,
                                                             gboolean vminor,
                                                             gboolean hmajor,
                                                             gboolean hminor);
    void                gtk_plot_grids_visible              (GtkPlot *plot,
                                                             gboolean *vmajor,
                                                             gboolean *vminor,
                                                             gboolean *hmajor,
                                                             gboolean *hminor);
    void                gtk_plot_y0line_set_attributes      (GtkPlot *plot,
                                                             GtkPlotLineStyle line_style,
                                                             gfloat width,
                                                             const GdkColor *color);
    void                gtk_plot_x0line_set_attributes      (GtkPlot *plot,
                                                             GtkPlotLineStyle line_style,
                                                             gfloat width,
                                                             const GdkColor *color);
    void                gtk_plot_major_vgrid_set_attributes (GtkPlot *plot,
                                                             GtkPlotLineStyle style,
                                                             gfloat width,
                                                             const GdkColor *color);
    void                gtk_plot_minor_vgrid_set_attributes (GtkPlot *plot,
                                                             GtkPlotLineStyle line_style,
                                                             gfloat width,
                                                             const GdkColor *color);
    void                gtk_plot_major_hgrid_set_attributes (GtkPlot *plot,
                                                             GtkPlotLineStyle line_style,
                                                             gfloat width,
                                                             const GdkColor *color);
    void                gtk_plot_minor_hgrid_set_attributes (GtkPlot *plot,
                                                             GtkPlotLineStyle line_style,
                                                             gfloat width,
                                                             const GdkColor *color);
    void                gtk_plot_show_legends               (GtkPlot *plot);
    void                gtk_plot_hide_legends               (GtkPlot *plot);
    void                gtk_plot_set_legends_border         (GtkPlot *plot,
                                                             GtkPlotBorderStyle legends_border,
                                                             gint shadow_width);
    void                gtk_plot_legends_move               (GtkPlot *plot,
                                                             gdouble x,
                                                             gdouble y);
    void                gtk_plot_legends_get_position       (GtkPlot *plot,
                                                             gdouble *x,
                                                             gdouble *y);
    GtkAllocation       gtk_plot_legends_get_allocation     (GtkPlot *plot);
    void                gtk_plot_legends_set_attributes     (GtkPlot *plot,
                                                             const gchar *font,
                                                             gint height,
                                                             const GdkColor *foreground,
                                                             const GdkColor *background);
    void                gtk_plot_set_line_attributes        (GtkPlot *plot,
                                                             GtkPlotLine line);
    void                gtk_plot_add_data                   (GtkPlot *plot,
                                                             GtkPlotData *data);
    gint                gtk_plot_remove_data                (GtkPlot *plot,
                                                             GtkPlotData *dataset);
    GtkPlotData *       gtk_plot_add_function               (GtkPlot *plot,
                                                             GtkPlotFunc function);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GtkObject
                   +----GtkWidget
                         +----GtkMisc
                               +----GtkPlot
                                     +----GtkPlot3D
                                     +----GtkPlotPolar

      GObject
       +----GInitiallyUnowned
             +----GtkObject
                   +----GtkPlotAxis

## Implemented Interfaces

GtkPlot implements AtkImplementorIface and GtkBuildable.

## Properties

      "allocation-height"        gint                  : Read / Write
      "allocation-width"         gint                  : Read / Write
      "allocation-x"             gint                  : Read / Write
      "allocation-y"             gint                  : Read / Write
      "bg-color"                 gpointer              : Read / Write
      "bg-pixmap"                gpointer              : Read / Write
      "bottom-align"             gdouble               : Read / Write
      "bottom-axis"              GtkPlotAxis*          : Read
      "clip-data"                gboolean              : Read / Write
      "grids-on-top"             gboolean              : Read / Write
      "height"                   gdouble               : Read / Write
      "left-align"               gdouble               : Read / Write
      "left-axis"                GtkPlotAxis*          : Read
      "legends-attr-text"        gpointer              : Read / Write
      "legends-border"           gint                  : Read / Write
      "legends-border-width"     gint                  : Read / Write
      "legends-height"           gint                  : Read / Write
      "legends-line-width"       gint                  : Read / Write
      "legends-shadow-width"     gint                  : Read / Write
      "legends-show"             gboolean              : Read / Write
      "legends-transparent"      gboolean              : Read / Write
      "legends-width"            gint                  : Read / Write
      "legends-x"                gdouble               : Read / Write
      "legends-y"                gdouble               : Read / Write
      "magnification"            gdouble               : Read / Write
      "reflect-x"                gboolean              : Read / Write
      "reflect-y"                gboolean              : Read / Write
      "right-align"              gdouble               : Read / Write
      "right-axis"               GtkPlotAxis*          : Read
      "show-x0"                  gboolean              : Read / Write
      "show-y0"                  gboolean              : Read / Write
      "top-align"                gdouble               : Read / Write
      "top-axis"                 GtkPlotAxis*          : Read
      "transparent"              gboolean              : Read / Write
      "use-pixmap"               gboolean              : Read / Write
      "width"                    gdouble               : Read / Write
      "x"                        gdouble               : Read / Write
      "x0-line"                  gpointer              : Read / Write
      "xmax"                     gdouble               : Read / Write
      "xmin"                     gdouble               : Read / Write
      "xscale"                   gint                  : Read / Write
      "y"                        gdouble               : Read / Write
      "y0-line"                  gpointer              : Read / Write
      "ymax"                     gdouble               : Read / Write
      "ymin"                     gdouble               : Read / Write
      "yscale"                   gint                  : Read / Write

## Signals

      "add-data"                                       : Run Last
      "axis-changed"                                   : Run Last
      "changed"                                        : Run Last
      "moved"                                          : Run Last
      "resized"                                        : Run Last
      "update"                                         : Run Last

## Description

GtkPlot allows to draw high quality scientific plots in two dimensions with a look and feel very similar to Microcal Origin for Windows. The distribution includes GtkPlotCanvas subclass, and a demo program showing two layered plots with different kind of curves. You can choose between a number of symbol types, lines, connectors -straight lines, steps, splines-, and change their attributes -color, size, width. You can also plot functions, add error bars, edit legends, rotate and move axis titles, change axis properties, etc.

## Details

### GtkPlot

    typedef struct _GtkPlot GtkPlot;

### GtkPlotAxis

    typedef struct _GtkPlotAxis GtkPlotAxis;

The GtkPlotAxis struct contains only private data. It should only be accessed through the functions described below.

### GtkPlotText

    typedef struct {
    } GtkPlotText;

The GtkPlotText struct contains only private data. It should only be accessed through the functions described below.

### GtkPlotLine

    typedef struct {
    } GtkPlotLine;

The GtkPlotLine struct contains only private data. It should only be accessed through the functions described below.

### GtkPlotSymbol

    typedef struct {
    } GtkPlotSymbol;

The GtkPlotSymbol struct contains only private data. It should only be accessed through the functions described below.

### GtkPlotTick

    typedef struct {
    } GtkPlotTick;

The GtkPlotTick struct contains only private data. It should only be accessed through the functions described below.

### GtkPlotTicks

    typedef struct {
    } GtkPlotTicks;

The GtkPlotTicks struct contains only private data. It should only be accessed through the functions described below.

### GtkPlotVector

    typedef struct {
    } GtkPlotVector;

The GtkPlotVector struct contains only private data. It should only be accessed through the functions described below.

### GtkPlotMarker

    typedef struct {
    } GtkPlotMarker;

The GtkPlotMarker struct contains only private data. It should only be accessed through the functions described below.

### GtkPlotFunc ()

    gdouble             (*GtkPlotFunc)                      (GtkPlot *plot,
                                                             GtkPlotData *data,
                                                             gdouble x,
                                                             gboolean *error);

`plot` : |
`data` : |
`x` : |
`error` : |
Returns : |

### GtkPlotFunc3D ()

    gdouble             (*GtkPlotFunc3D)                    (GtkPlot *plot,
                                                             GtkPlotData *data,
                                                             gdouble x,
                                                             gdouble y,
                                                             gboolean *error);

`plot` : |
`data` : |
`x` : |
`y` : |
`error` : |
Returns : |

### GtkPlotIterator ()

    void                (*GtkPlotIterator)                  (GtkPlot *plot,
                                                             GtkPlotData *data,
                                                             gint iter,
                                                             gdouble *x,
                                                             gdouble *y,
                                                             gdouble *z,
                                                             gdouble *a,
                                                             gdouble *dx,
                                                             gdouble *dy,
                                                             gdouble *dz,
                                                             gdouble *da,
                                                             gchar **label,
                                                             gboolean *error);

`plot` : |
`data` : |
`iter` : |
`x` : |
`y` : |
`z` : |
`a` : |
`dx` : |
`dy` : |
`dz` : |
`da` : |
`label` : |
`error` : |

### enum GtkPlotScale

    typedef enum
    {
        GTK_PLOT_SCALE_LINEAR,
        GTK_PLOT_SCALE_LOG10
    } GtkPlotScale;

### enum GtkPlotSymbolType

    typedef enum
    {
        GTK_PLOT_SYMBOL_NONE,
        GTK_PLOT_SYMBOL_SQUARE,
        GTK_PLOT_SYMBOL_CIRCLE,
        GTK_PLOT_SYMBOL_UP_TRIANGLE,
        GTK_PLOT_SYMBOL_DOWN_TRIANGLE,
        GTK_PLOT_SYMBOL_RIGHT_TRIANGLE,
        GTK_PLOT_SYMBOL_LEFT_TRIANGLE,
        GTK_PLOT_SYMBOL_DIAMOND,
        GTK_PLOT_SYMBOL_PLUS,
        GTK_PLOT_SYMBOL_CROSS,
        GTK_PLOT_SYMBOL_STAR,
        GTK_PLOT_SYMBOL_DOT,
        GTK_PLOT_SYMBOL_IMPULSE,
    } GtkPlotSymbolType;

### enum GtkPlotSymbolStyle

    typedef enum
    {
        GTK_PLOT_SYMBOL_EMPTY,
        GTK_PLOT_SYMBOL_FILLED,
        GTK_PLOT_SYMBOL_OPAQUE
    } GtkPlotSymbolStyle;

### enum GtkPlotBorderStyle

    typedef enum
    {
        GTK_PLOT_BORDER_NONE,
        GTK_PLOT_BORDER_LINE,
        GTK_PLOT_BORDER_SHADOW,
    } GtkPlotBorderStyle;

### enum GtkPlotLineStyle

    typedef enum
    {
        GTK_PLOT_LINE_NONE,
        GTK_PLOT_LINE_SOLID,
        GTK_PLOT_LINE_DOTTED,
        GTK_PLOT_LINE_DASHED,
        GTK_PLOT_LINE_DOT_DASH,
        GTK_PLOT_LINE_DOT_DOT_DASH,
        GTK_PLOT_LINE_DOT_DASH_DASH
    } GtkPlotLineStyle;

### enum GtkPlotConnector

    typedef enum
    {
        GTK_PLOT_CONNECT_NONE,
        GTK_PLOT_CONNECT_STRAIGHT,
        GTK_PLOT_CONNECT_SPLINE,
        GTK_PLOT_CONNECT_HV_STEP,
        GTK_PLOT_CONNECT_VH_STEP,
        GTK_PLOT_CONNECT_MIDDLE_STEP
    } GtkPlotConnector;

### enum GtkPlotLabelPos

    typedef enum
    {
        GTK_PLOT_LABEL_NONE    	= 0,
        GTK_PLOT_LABEL_IN 	   	= 1 << 0,
        GTK_PLOT_LABEL_OUT    	= 1 << 1,
    }GtkPlotLabelPos;

### enum GtkPlotError

    typedef enum
    {
        GTK_PLOT_ERROR_DIV_ZERO,
        GTK_PLOT_ERROR_LOG_NEG
    } GtkPlotError;

### enum GtkPlotOrientation

    typedef enum
    {
        GTK_PLOT_AXIS_X,
        GTK_PLOT_AXIS_Y,
        GTK_PLOT_AXIS_Z,
    } GtkPlotOrientation;

### enum GtkPlotAxisPos

    typedef enum
    {
        GTK_PLOT_AXIS_LEFT,
        GTK_PLOT_AXIS_RIGHT,
        GTK_PLOT_AXIS_TOP,
        GTK_PLOT_AXIS_BOTTOM
    } GtkPlotAxisPos;

### enum GtkPlotLabelStyle

    typedef enum
    {
        GTK_PLOT_LABEL_FLOAT,
        GTK_PLOT_LABEL_EXP,
        GTK_PLOT_LABEL_POW
    } GtkPlotLabelStyle;

### enum GtkPlotTicksPos

    typedef enum
    {
        GTK_PLOT_TICKS_NONE		= 0,
        GTK_PLOT_TICKS_IN		= 1 << 0,
        GTK_PLOT_TICKS_OUT		= 1 << 1
    } GtkPlotTicksPos;

### GtkPlotTicksAutoscaleFunc ()

    void                (*GtkPlotTicksAutoscaleFunc)        (GtkPlotAxis *axis,
                                                             gdouble xmin,
                                                             gdouble xmax,
                                                             gint *precision);

`axis` : |
`xmin` : |
`xmax` : |
`precision` : |

### GtkPlotTicksInverseFunc ()

    gdouble             (*GtkPlotTicksInverseFunc)          (GtkPlotAxis *axis,
                                                             gdouble y);

`axis` : |
`y` : |
Returns : |

### GtkPlotTicksRecalcFunc ()

    void                (*GtkPlotTicksRecalcFunc)           (GtkPlotAxis *axis);

`axis` : |

### GtkPlotTicksTransformFunc ()

    gdouble             (*GtkPlotTicksTransformFunc)        (GtkPlotAxis *axis,
                                                             gdouble y);

`axis` : |
`y` : |
Returns : |

### GtkPlotParseLabelFunc ()

    void                (*GtkPlotParseLabelFunc)            (GtkPlotAxis *axis,
                                                             gdouble val,
                                                             gint precision,
                                                             gint style,
                                                             gchar *label);

`axis` : |
`val` : |
`precision` : |
`style` : |
`label` : |

### gtk_plot_new ()

    GtkWidget *         gtk_plot_new                        (GdkDrawable *drawable);

`drawable` : | a Gdk drawable
Returns : |

### gtk_plot_new_with_size ()

    GtkWidget *         gtk_plot_new_with_size              (GdkDrawable *drawable,
                                                             gdouble width,
                                                             gdouble height);

`drawable` : | a Gdk drawable
`width` : | plot widget width
`height` : | plot widget height
Returns : | the plot widget

### gtk_plot_construct ()

    void                gtk_plot_construct                  (GtkPlot *plot,
                                                             GdkDrawable *drawable);

`plot` : | a GtkPlot widget
`drawable` : | a Gdk drawable

### gtk_plot_construct_with_size ()

    void                gtk_plot_construct_with_size        (GtkPlot *plot,
                                                             GdkDrawable *drawable,
                                                             gdouble width,
                                                             gdouble height);

`plot` : | a GtkPlot widget
`drawable` : | a Gdk drawable
`width` : |
`height` : |

### gtk_plot_set_drawable ()

    void                gtk_plot_set_drawable               (GtkPlot *plot,
                                                             GdkDrawable *drawable);

`plot` : | a GtkPlot widget
`drawable` : | a Gdk drawable

### gtk_plot_get_drawable ()

    GdkDrawable *       gtk_plot_get_drawable               (GtkPlot *plot);

`plot` : | a GtkPlot widget
Returns : | (transfer none) the GdkDrawable of the plot

### gtk_plot_set_pc ()

    void                gtk_plot_set_pc                     (GtkPlot *plot,
                                                             GtkPlotPC *pc);

`plot` : | a GtkPlot widget
`pc` : | a GtkPlotPc

### gtk_plot_set_background_pixmap ()

    void                gtk_plot_set_background_pixmap      (GtkPlot *plot,
                                                             GdkPixmap *pixmap);

`plot` : | a GtkPlot widget
`pixmap` : | a Gdk pixmap

### gtk_plot_set_transparent ()

    void                gtk_plot_set_transparent            (GtkPlot *plot,
                                                             gboolean transparent);

`plot` : | a GtkPlot widget
`transparent` : |

### gtk_plot_is_transparent ()

    gboolean            gtk_plot_is_transparent             (GtkPlot *plot);

`plot` : | a GtkPlot widget
Returns : |

### gtk_plot_get_position ()

    void                gtk_plot_get_position               (GtkPlot *plot,
                                                             gdouble *x,
                                                             gdouble *y);

`plot` : | a GtkPlot widget.
`x` : | `y`
`y` : |

### gtk_plot_get_size ()

    void                gtk_plot_get_size                   (GtkPlot *plot,
                                                             gdouble *width,
                                                             gdouble *height);

`plot` : |
`width` : |
`height` : |

### gtk_plot_get_internal_allocation ()

    GtkAllocation       gtk_plot_get_internal_allocation    (GtkPlot *plot);

`plot` : | a GtkPlot widget.
Returns : | (transfer none) internal_allocation

### gtk_plot_set_background ()

    void                gtk_plot_set_background             (GtkPlot *plot,
                                                             const GdkColor *bg_color);

`plot` : | a GtkPlot widget.
`bg_color` : |

### gtk_plot_paint ()

    void                gtk_plot_paint                      (GtkPlot *plot);

`plot` : | a GtkPlot widget

### gtk_plot_refresh ()

    void                gtk_plot_refresh                    (GtkPlot *plot,
                                                             GdkRectangle *drawing_area);

`plot` : | a GtkPlot widget
`drawing_area` : | a GdkRectangle

### gtk_plot_move ()

    void                gtk_plot_move                       (GtkPlot *plot,
                                                             gdouble x,
                                                             gdouble y);

`plot` : |
`x` : |
`y` : |

### gtk_plot_resize ()

    void                gtk_plot_resize                     (GtkPlot *plot,
                                                             gdouble width,
                                                             gdouble height);

`plot` : | a GtkPlot widget.a GtkPlot widget.
`width` : |
`height` : |

### gtk_plot_set_magnification ()

    void                gtk_plot_set_magnification          (GtkPlot *plot,
                                                             gdouble magnification);

`plot` : | a GtkPlot widget.
`magnification` : |

### gtk_plot_move_resize ()

    void                gtk_plot_move_resize                (GtkPlot *plot,
                                                             gdouble x,
                                                             gdouble y,
                                                             gdouble width,
                                                             gdouble height);

`plot` : | a GtkPlot widget.
`x` : |
`y` : |
`width` : |
`height` : |

### gtk_plot_get_pixel ()

    void                gtk_plot_get_pixel                  (GtkPlot *plot,
                                                             gdouble xx,
                                                             gdouble yy,
                                                             gdouble *x,
                                                             gdouble *y);

`plot` : | a GtkPlot widget.
`xx` : |
`yy` : |
`x` : |
`y` : |

### gtk_plot_get_point ()

    void                gtk_plot_get_point                  (GtkPlot *plot,
                                                             gint x,
                                                             gint y,
                                                             gdouble *xx,
                                                             gdouble *yy);

`plot` : | a GtkPlot widget.
`x` : |
`y` : |
`xx` : |
`yy` : |

### gtk_plot_clip_data ()

    void                gtk_plot_clip_data                  (GtkPlot *plot,
                                                             gboolean clip);

`plot` : | a GtkPlot widget.
`clip` : |

### gtk_plot_set_xrange ()

    void                gtk_plot_set_xrange                 (GtkPlot *plot,
                                                             gdouble xmin,
                                                             gdouble xmax);

`plot` : | a GtkPlot widget.
`xmin` : |
`xmax` : |

### gtk_plot_set_yrange ()

    void                gtk_plot_set_yrange                 (GtkPlot *plot,
                                                             gdouble ymin,
                                                             gdouble ymax);

`plot` : | a GtkPlot widget.
`ymin` : |
`ymax` : |

### gtk_plot_set_range ()

    void                gtk_plot_set_range                  (GtkPlot *plot,
                                                             gdouble xmin,
                                                             gdouble xmax,
                                                             gdouble ymin,
                                                             gdouble ymax);

`plot` : | a GtkPlot widget.
`xmin` : |
`xmax` : |
`ymin` : |
`ymax` : |

### gtk_plot_autoscale ()

    void                gtk_plot_autoscale                  (GtkPlot *plot);

`plot` : | a GtkPlot widget.

### gtk_plot_get_xrange ()

    void                gtk_plot_get_xrange                 (GtkPlot *plot,
                                                             gdouble *xmin,
                                                             gdouble *xmax);

`plot` : | a GtkPlot widget.
`xmin` : |
`xmax` : |

### gtk_plot_get_yrange ()

    void                gtk_plot_get_yrange                 (GtkPlot *plot,
                                                             gdouble *ymin,
                                                             gdouble *ymax);

`plot` : | a GtkPlot widget.
`ymin` : |
`ymax` : |

### gtk_plot_set_xscale ()

    void                gtk_plot_set_xscale                 (GtkPlot *plot,
                                                             GtkPlotScale scale_type);

`plot` : | a GtkPlot widget.
`scale_type` : |

### gtk_plot_set_yscale ()

    void                gtk_plot_set_yscale                 (GtkPlot *plot,
                                                             GtkPlotScale scale_type);

`plot` : | a GtkPlot widget.
`scale_type` : |

### gtk_plot_get_xscale ()

    GtkPlotScale        gtk_plot_get_xscale                 (GtkPlot *plot);

`plot` : | a GtkPlot widget.
Returns : |

### gtk_plot_get_yscale ()

    GtkPlotScale        gtk_plot_get_yscale                 (GtkPlot *plot);

`plot` : | a GtkPlot widget.
Returns : |

### gtk_plot_reflect_x ()

    void                gtk_plot_reflect_x                  (GtkPlot *plot,
                                                             gboolean reflect);

`plot` : | a GtkPlot widget.
`reflect` : |

### gtk_plot_reflect_y ()

    void                gtk_plot_reflect_y                  (GtkPlot *plot,
                                                             gboolean reflect);

`plot` : | a GtkPlot widget.
`reflect` : |

### gtk_plot_is_x_reflected ()

    gboolean            gtk_plot_is_x_reflected             (GtkPlot *plot);

`plot` : | a GtkPlot widget.
Returns : |

### gtk_plot_is_y_reflected ()

    gboolean            gtk_plot_is_y_reflected             (GtkPlot *plot);

`plot` : | a GtkPlot widget.
Returns : |

### gtk_plot_put_text ()

    GtkPlotText *       gtk_plot_put_text                   (GtkPlot *plot,
                                                             gdouble x,
                                                             gdouble y,
                                                             const gchar *font,
                                                             gint height,
                                                             gint angle,
                                                             const GdkColor *fg,
                                                             const GdkColor *bg,
                                                             gboolean transparent,
                                                             GtkJustification justification,
                                                             const gchar *text);

`plot` : | a GtkPlot widget.
`x` : |
`y` : |
`font` : |
`height` : |
`angle` : |
`fg` : |
`bg` : |
`transparent` : |
`justification` : |
`text` : |
Returns : | (transfer none) the GtkPlotText

### gtk_plot_remove_text ()

    gint                gtk_plot_remove_text                (GtkPlot *plot,
                                                             GtkPlotText *text);

`plot` : | a GtkPlot widget.
`text` : |
Returns : |

### gtk_plot_text_get_size ()

    void                gtk_plot_text_get_size              (const gchar *text,
                                                             gint angle,
                                                             const gchar *text_font,
                                                             gint text_height,
                                                             gint *width,
                                                             gint *height,
                                                             gint *ascent,
                                                             gint *descent);

`text` : |
`angle` : |
`text_font` : |
`text_height` : |
`width` : |
`height` : |
`ascent` : |
`descent` : |

### gtk_plot_text_get_area ()

    void                gtk_plot_text_get_area              (const gchar *text,
                                                             gint angle,
                                                             GtkJustification just,
                                                             const gchar *font_name,
                                                             gint font_size,
                                                             gint *x,
                                                             gint *y,
                                                             gint *width,
                                                             gint *height);

`text` : |
`angle` : |
`just` : |
`font_name` : |
`font_size` : |
`x` : |
`y` : |
`width` : |
`height` : |

### gtk_plot_text_set_attributes ()

    void                gtk_plot_text_set_attributes        (GtkPlotText *text_attr,
                                                             const gchar *font,
                                                             gint height,
                                                             gint angle,
                                                             const GdkColor *fg,
                                                             const GdkColor *bg,
                                                             gboolean transparent,
                                                             GtkJustification justification,
                                                             const gchar *text);

`text_attr` : |
`font` : |
`height` : |
`angle` : |
`fg` : |
`bg` : |
`transparent` : |
`justification` : |
`text` : |

### gtk_plot_text_set_border ()

    void                gtk_plot_text_set_border            (GtkPlotText *text,
                                                             GtkPlotBorderStyle border,
                                                             gint border_space,
                                                             gint border_width,
                                                             gint shadow_width);

`text` : |
`border` : |
`border_space` : |
`border_width` : |
`shadow_width` : |

### gtk_plot_draw_line ()

    void                gtk_plot_draw_line                  (GtkPlot *plot,
                                                             GtkPlotLine line,
                                                             gdouble x1,
                                                             gdouble y1,
                                                             gdouble x2,
                                                             gdouble y2);

`plot` : | a GtkPlot widget
`line` : |
`x1` : |
`y1` : |
`x2` : |
`y2` : |

### gtk_plot_draw_text ()

    void                gtk_plot_draw_text                  (GtkPlot *plot,
                                                             GtkPlotText text);

`plot` : |
`text` : |

### gtk_plot_set_ticks ()

    void                gtk_plot_set_ticks                  (GtkPlot *plot,
                                                             GtkPlotOrientation orientation,
                                                             gdouble major_step,
                                                             gint nminor);

`plot` : | a GtkPlot widget.
`orientation` : |
`major_step` : |
`nminor` : |

### gtk_plot_set_major_ticks ()

    void                gtk_plot_set_major_ticks            (GtkPlot *plot,
                                                             GtkPlotOrientation orientation,
                                                             gdouble major_step);

`plot` : | a GtkPlot widget.
`orientation` : |
`major_step` : |

### gtk_plot_set_minor_ticks ()

    void                gtk_plot_set_minor_ticks            (GtkPlot *plot,
                                                             GtkPlotOrientation orientation,
                                                             gint nminor);

`plot` : | a GtkPlot widget.
`orientation` : |
`nminor` : |

### gtk_plot_set_ticks_limits ()

    void                gtk_plot_set_ticks_limits           (GtkPlot *plot,
                                                             GtkPlotOrientation orientation,
                                                             gdouble begin,
                                                             gdouble end);

`plot` : | a GtkPlot widget.
`orientation` : |
`begin` : |
`end` : |

### gtk_plot_unset_ticks_limits ()

    void                gtk_plot_unset_ticks_limits         (GtkPlot *plot,
                                                             GtkPlotOrientation orientation);

`plot` : | a GtkPlot widget.
`orientation` : |

### gtk_plot_set_break ()

    void                gtk_plot_set_break                  (GtkPlot *plot,
                                                             GtkPlotOrientation orientation,
                                                             gdouble min,
                                                             gdouble max,
                                                             gdouble step_after,
                                                             gint nminor_after,
                                                             GtkPlotScale scale_after,
                                                             gdouble pos);

`plot` : | a GtkPlot widget.
`orientation` : |
`min` : |
`max` : |
`step_after` : |
`nminor_after` : |
`scale_after` : |
`pos` : |

### gtk_plot_remove_break ()

    void                gtk_plot_remove_break               (GtkPlot *plot,
                                                             GtkPlotOrientation orientation);

`plot` : | a GtkPlot widget.
`orientation` : |

### gtk_plot_axis_new ()

    GtkObject *         gtk_plot_axis_new                   (GtkPlotOrientation orientation);

`orientation` : |
Returns : |

### gtk_plot_axis_construct ()

    void                gtk_plot_axis_construct             (GtkPlotAxis *axis,
                                                             GtkPlotOrientation orientation);

`axis` : |
`orientation` : |

### gtk_plot_get_axis ()

    GtkPlotAxis *       gtk_plot_get_axis                   (GtkPlot *plot,
                                                             GtkPlotAxisPos axis);

`plot` : | a GtkPlot widget.
`axis` : | a GtkPlotAxis.
Returns : | (transfer none) the GtkPlotAxis at the given position

### gtk_plot_axis_set_visible ()

    void                gtk_plot_axis_set_visible           (GtkPlotAxis *axis,
                                                             gboolean visible);

`axis` : | a GtkPlotAxis.
`visible` : |

### gtk_plot_axis_visible ()

    gboolean            gtk_plot_axis_visible               (GtkPlotAxis *axis);

`axis` : | a GtkPlotAxis.
Returns : |

### gtk_plot_axis_set_title ()

    void                gtk_plot_axis_set_title             (GtkPlotAxis *axis,
                                                             const gchar *title);

`axis` : | a GtkPlotAxis. `title`
`title` : |

### gtk_plot_axis_show_title ()

    void                gtk_plot_axis_show_title            (GtkPlotAxis *axis);

`axis` : | a GtkPlotAxis.

### gtk_plot_axis_hide_title ()

    void                gtk_plot_axis_hide_title            (GtkPlotAxis *axis);

`axis` : | a GtkPlotAxis.

### gtk_plot_axis_move_title ()

    void                gtk_plot_axis_move_title            (GtkPlotAxis *axis,
                                                             gint angle,
                                                             gdouble x,
                                                             gdouble y);

`axis` : | a GtkPlotAxis.
`angle` : |
`x` : |
`y` : |

### gtk_plot_axis_justify_title ()

    void                gtk_plot_axis_justify_title         (GtkPlotAxis *axis,
                                                             GtkJustification justification);

`axis` : | a GtkPlotAxis.
`justification` : |

### gtk_plot_axis_set_attributes ()

    void                gtk_plot_axis_set_attributes        (GtkPlotAxis *axis,
                                                             gfloat width,
                                                             const GdkColor *color);

`axis` : | a GtkPlotAxis.
`width` : |
`color` : |

### gtk_plot_axis_get_attributes ()

    void                gtk_plot_axis_get_attributes        (GtkPlotAxis *axis,
                                                             gfloat *width,
                                                             GdkColor *color);

`axis` : | a GtkPlotAxis.
`width` : | color:
`color` : |

### gtk_plot_axis_set_ticks ()

    void                gtk_plot_axis_set_ticks             (GtkPlotAxis *axis,
                                                             gdouble major_step,
                                                             gint nminor);

`axis` : | a GtkPlotAxis.
`major_step` : |
`nminor` : |

### gtk_plot_axis_set_major_ticks ()

    void                gtk_plot_axis_set_major_ticks       (GtkPlotAxis *axis,
                                                             gdouble major_step);

`axis` : | a GtkPlotAxis.
`major_step` : |

### gtk_plot_axis_set_minor_ticks ()

    void                gtk_plot_axis_set_minor_ticks       (GtkPlotAxis *axis,
                                                             gint nminor);

`axis` : | a GtkPlotAxis.
`nminor` : |

### gtk_plot_axis_set_ticks_length ()

    void                gtk_plot_axis_set_ticks_length      (GtkPlotAxis *axis,
                                                             gint length);

`axis` : | a GtkPlotAxis.
`length` : |

### gtk_plot_axis_set_ticks_width ()

    void                gtk_plot_axis_set_ticks_width       (GtkPlotAxis *axis,
                                                             gfloat width);

`axis` : | a GtkPlotAxis.
`width` : |

### gtk_plot_axis_show_ticks ()

    void                gtk_plot_axis_show_ticks            (GtkPlotAxis *axis,
                                                             gint major_mask,
                                                             gint minor_mask);

`axis` : | a GtkPlotAxis.
`major_mask` : |
`minor_mask` : |

### gtk_plot_axis_set_ticks_limits ()

    void                gtk_plot_axis_set_ticks_limits      (GtkPlotAxis *axis,
                                                             gdouble begin,
                                                             gdouble end);

`axis` : | a GtkPlotAxis.
`begin` : |
`end` : |

### gtk_plot_axis_unset_ticks_limits ()

    void                gtk_plot_axis_unset_ticks_limits    (GtkPlotAxis *axis);

`axis` : | a GtkPlotAxis.

### gtk_plot_axis_set_tick_labels ()

    void                gtk_plot_axis_set_tick_labels       (GtkPlotAxis *axis,
                                                             GtkPlotArray *array);

`axis` : |
`array` : |

### gtk_plot_axis_set_break ()

    void                gtk_plot_axis_set_break             (GtkPlotAxis *axis,
                                                             gdouble min,
                                                             gdouble max,
                                                             gdouble step_after,
                                                             gint nminor_after,
                                                             GtkPlotScale scale_after,
                                                             gdouble pos);

`axis` : | a GtkPlotAxis.
`min` : |
`max` : |
`step_after` : |
`nminor_after` : |
`scale_after` : |
`pos` : |

### gtk_plot_axis_remove_break ()

    void                gtk_plot_axis_remove_break          (GtkPlotAxis *axis);

`axis` : | a GtkPlotAxis.

### gtk_plot_axis_show_labels ()

    void                gtk_plot_axis_show_labels           (GtkPlotAxis *axis,
                                                             gint labels_mask);

`axis` : | a GtkPlotAxis.
`labels_mask` : |

### gtk_plot_axis_title_set_attributes ()

    void                gtk_plot_axis_title_set_attributes  (GtkPlotAxis *axis,
                                                             const gchar *font,
                                                             gint height,
                                                             gint angle,
                                                             const GdkColor *fg,
                                                             const GdkColor *bg,
                                                             gboolean transparent,
                                                             GtkJustification justification);

`axis` : | a GtkPlotAxis.
`font` : |
`height` : |
`angle` : |
`fg` : |
`bg` : |
`transparent` : |
`justification` : |

### gtk_plot_axis_set_labels_attributes ()

    void                gtk_plot_axis_set_labels_attributes (GtkPlotAxis *axis,
                                                             const gchar *font,
                                                             gint height,
                                                             gint angle,
                                                             const GdkColor *fg,
                                                             const GdkColor *bg,
                                                             gboolean transparent,
                                                             GtkJustification justification);

`axis` : | a GtkPlotAxis.
`font` : |
`height` : |
`angle` : |
`fg` : |
`bg` : |
`transparent` : |
`justification` : |

### gtk_plot_axis_set_labels_numbers

    #define gtk_plot_axis_set_labels_numbers gtk_plot_axis_set_labels_style

### gtk_plot_axis_set_labels_style ()

    void                gtk_plot_axis_set_labels_style      (GtkPlotAxis *axis,
                                                             GtkPlotLabelStyle style,
                                                             gint precision);

`axis` : | a GtkPlotAxis.
`style` : |
`precision` : |

### gtk_plot_axis_set_labels_offset ()

    void                gtk_plot_axis_set_labels_offset     (GtkPlotAxis *axis,
                                                             gint offset);

`axis` : | a GtkPlotAxis.
`offset` : |

### gtk_plot_axis_get_labels_offset ()

    gint                gtk_plot_axis_get_labels_offset     (GtkPlotAxis *axis);

`axis` : | a GtkPlotAxis.
Returns : |

### gtk_plot_axis_use_custom_tick_labels ()

    void                gtk_plot_axis_use_custom_tick_labels
                                                            (GtkPlotAxis *axis,
                                                             gboolean use);

`axis` : |
`use` : |

### gtk_plot_axis_set_labels_suffix ()

    void                gtk_plot_axis_set_labels_suffix     (GtkPlotAxis *axis,
                                                             const gchar *text);

`axis` : | a GtkPlotAxis.
`text` : |

### gtk_plot_axis_set_labels_prefix ()

    void                gtk_plot_axis_set_labels_prefix     (GtkPlotAxis *axis,
                                                             const gchar *text);

`axis` : | a GtkPlotAxis.
`text` : |

### gtk_plot_axis_get_labels_suffix ()

    gchar *             gtk_plot_axis_get_labels_suffix     (GtkPlotAxis *axis);

`axis` : | a GtkPlotAxis.
Returns : |

### gtk_plot_axis_get_labels_prefix ()

    gchar *             gtk_plot_axis_get_labels_prefix     (GtkPlotAxis *axis);

`axis` : | a GtkPlotAxis.
Returns : |

### gtk_plot_axis_ticks_recalc ()

    void                gtk_plot_axis_ticks_recalc          (GtkPlotAxis *axis);

`axis` : |

### gtk_plot_axis_ticks_autoscale ()

    void                gtk_plot_axis_ticks_autoscale       (GtkPlotAxis *axis,
                                                             gdouble xmin,
                                                             gdouble xmax,
                                                             gint *precision);

`axis` : |
`xmin` : |
`xmax` : |
`precision` : |

### gtk_plot_axis_ticks_transform ()

    gdouble             gtk_plot_axis_ticks_transform       (GtkPlotAxis *axis,
                                                             gdouble y);

`axis` : |
`y` : |
Returns : |

### gtk_plot_axis_ticks_inverse ()

    gdouble             gtk_plot_axis_ticks_inverse         (GtkPlotAxis *axis,
                                                             gdouble x);

`axis` : |
`x` : |
Returns : |

### gtk_plot_axis_parse_label ()

    void                gtk_plot_axis_parse_label           (GtkPlotAxis *axis,
                                                             gdouble val,
                                                             gint precision,
                                                             gint style,
                                                             gchar *label);

`axis` : |
`val` : |
`precision` : |
`style` : |
`label` : |

### gtk_plot_x0_set_visible ()

    void                gtk_plot_x0_set_visible             (GtkPlot *plot,
                                                             gboolean visible);

`plot` : | a GtkPlot widget.
`visible` : |

### gtk_plot_x0_visible ()

    gboolean            gtk_plot_x0_visible                 (GtkPlot *plot);

`plot` : | a GtkPlot widget.
Returns : |

### gtk_plot_y0_set_visible ()

    void                gtk_plot_y0_set_visible             (GtkPlot *plot,
                                                             gboolean visible);

`plot` : | a GtkPlot widget.
`visible` : |

### gtk_plot_y0_visible ()

    gboolean            gtk_plot_y0_visible                 (GtkPlot *plot);

`plot` : | a GtkPlot widget.
Returns : |

### gtk_plot_grids_set_on_top ()

    void                gtk_plot_grids_set_on_top           (GtkPlot *plot,
                                                             gboolean on_top);

`plot` : | a GtkPlot widget.
`on_top` : |

### gtk_plot_grids_on_top ()

    gboolean            gtk_plot_grids_on_top               (GtkPlot *plot);

`plot` : | a GtkPlot widget.
Returns : |

### gtk_plot_grids_set_visible ()

    void                gtk_plot_grids_set_visible          (GtkPlot *plot,
                                                             gboolean vmajor,
                                                             gboolean vminor,
                                                             gboolean hmajor,
                                                             gboolean hminor);

`plot` : | a GtkPlot widget.
`vmajor` : |
`vminor` : |
`hmajor` : |
`hminor` : |

### gtk_plot_grids_visible ()

    void                gtk_plot_grids_visible              (GtkPlot *plot,
                                                             gboolean *vmajor,
                                                             gboolean *vminor,
                                                             gboolean *hmajor,
                                                             gboolean *hminor);

`plot` : | a GtkPlot widget.
`vmajor` : |
`vminor` : |
`hmajor` : |
`hminor` : |

### gtk_plot_y0line_set_attributes ()

    void                gtk_plot_y0line_set_attributes      (GtkPlot *plot,
                                                             GtkPlotLineStyle line_style,
                                                             gfloat width,
                                                             const GdkColor *color);

`plot` : | a GtkPlot widget.
`line_style` : |
`width` : |
`color` : |

### gtk_plot_x0line_set_attributes ()

    void                gtk_plot_x0line_set_attributes      (GtkPlot *plot,
                                                             GtkPlotLineStyle line_style,
                                                             gfloat width,
                                                             const GdkColor *color);

`plot` : |
`line_style` : |
`width` : |
`color` : |

### gtk_plot_major_vgrid_set_attributes ()

    void                gtk_plot_major_vgrid_set_attributes (GtkPlot *plot,
                                                             GtkPlotLineStyle style,
                                                             gfloat width,
                                                             const GdkColor *color);

`plot` : |
`style` : |
`width` : |
`color` : |

### gtk_plot_minor_vgrid_set_attributes ()

    void                gtk_plot_minor_vgrid_set_attributes (GtkPlot *plot,
                                                             GtkPlotLineStyle line_style,
                                                             gfloat width,
                                                             const GdkColor *color);

`plot` : | a GtkPlot widget.
`line_style` : |
`width` : |
`color` : |

### gtk_plot_major_hgrid_set_attributes ()

    void                gtk_plot_major_hgrid_set_attributes (GtkPlot *plot,
                                                             GtkPlotLineStyle line_style,
                                                             gfloat width,
                                                             const GdkColor *color);

`plot` : | a GtkPlot widget.
`line_style` : |
`width` : |
`color` : |

### gtk_plot_minor_hgrid_set_attributes ()

    void                gtk_plot_minor_hgrid_set_attributes (GtkPlot *plot,
                                                             GtkPlotLineStyle line_style,
                                                             gfloat width,
                                                             const GdkColor *color);

`plot` : | a GtkPlot widget.
`line_style` : |
`width` : |
`color` : |

### gtk_plot_show_legends ()

    void                gtk_plot_show_legends               (GtkPlot *plot);

`plot` : | a GtkPlot widget.

### gtk_plot_hide_legends ()

    void                gtk_plot_hide_legends               (GtkPlot *plot);

`plot` : | a GtkPlot widget.

### gtk_plot_set_legends_border ()

    void                gtk_plot_set_legends_border         (GtkPlot *plot,
                                                             GtkPlotBorderStyle legends_border,
                                                             gint shadow_width);

`plot` : | a GtkPlot widget.
`legends_border` : |
`shadow_width` : |

### gtk_plot_legends_move ()

    void                gtk_plot_legends_move               (GtkPlot *plot,
                                                             gdouble x,
                                                             gdouble y);

`plot` : | a GtkPlot widget.
`x` : |
`y` : |

### gtk_plot_legends_get_position ()

    void                gtk_plot_legends_get_position       (GtkPlot *plot,
                                                             gdouble *x,
                                                             gdouble *y);

`plot` : | a GtkPlot widget.
`x` : |
`y` : |

### gtk_plot_legends_get_allocation ()

    GtkAllocation       gtk_plot_legends_get_allocation     (GtkPlot *plot);

`plot` : | a GtkPlot widget.
Returns : | (transfer full) the GtkAllocation

### gtk_plot_legends_set_attributes ()

    void                gtk_plot_legends_set_attributes     (GtkPlot *plot,
                                                             const gchar *font,
                                                             gint height,
                                                             const GdkColor *foreground,
                                                             const GdkColor *background);

`plot` : | a GtkPlot widget.
`font` : |
`height` : |
`foreground` : |
`background` : |

### gtk_plot_set_line_attributes ()

    void                gtk_plot_set_line_attributes        (GtkPlot *plot,
                                                             GtkPlotLine line);

`plot` : | a GtkPlot widget
`line` : |

### gtk_plot_add_data ()

    void                gtk_plot_add_data                   (GtkPlot *plot,
                                                             GtkPlotData *data);

`plot` : |
`data` : |

### gtk_plot_remove_data ()

    gint                gtk_plot_remove_data                (GtkPlot *plot,
                                                             GtkPlotData *dataset);

`plot` : | a GtkPlot widget.
`dataset` : |
Returns : |

### gtk_plot_add_function ()

    GtkPlotData *       gtk_plot_add_function               (GtkPlot *plot,
                                                             GtkPlotFunc function);

`plot` : | a GtkPlot widget.
`function` : | the dataset generation function. scope async.
Returns : | (transfer none) the GtkPlotData

## Property Details

### The `"allocation-height"` property

      "allocation-height"        gint                  : Read / Write

Allowed values: >= -2147483647

Default value: 0

### The `"allocation-width"` property

      "allocation-width"         gint                  : Read / Write

Allowed values: >= -2147483647

Default value: 0

### The `"allocation-x"` property

      "allocation-x"             gint                  : Read / Write

Allowed values: >= -2147483647

Default value: 0

### The `"allocation-y"` property

      "allocation-y"             gint                  : Read / Write

Allowed values: >= -2147483647

Default value: 0

### The `"bg-color"` property

      "bg-color"                 gpointer              : Read / Write

### The `"bg-pixmap"` property

      "bg-pixmap"                gpointer              : Read / Write

### The `"bottom-align"` property

      "bottom-align"             gdouble               : Read / Write

Allowed values: >= 0

Default value: 0

### The `"bottom-axis"` property

      "bottom-axis"              GtkPlotAxis*          : Read

### The `"clip-data"` property

      "clip-data"                gboolean              : Read / Write

Default value: FALSE

### The `"grids-on-top"` property

      "grids-on-top"             gboolean              : Read / Write

Default value: FALSE

### The `"height"` property

      "height"                   gdouble               : Read / Write

Allowed values: >= 0

Default value: 0

### The `"left-align"` property

      "left-align"               gdouble               : Read / Write

Allowed values: >= 0

Default value: 0

### The `"left-axis"` property

      "left-axis"                GtkPlotAxis*          : Read

### The `"legends-attr-text"` property

      "legends-attr-text"        gpointer              : Read / Write

### The `"legends-border"` property

      "legends-border"           gint                  : Read / Write

Allowed values: >= 0

Default value: 0

### The `"legends-border-width"` property

      "legends-border-width"     gint                  : Read / Write

Allowed values: >= 0

Default value: 0

### The `"legends-height"` property

      "legends-height"           gint                  : Read / Write

Allowed values: >= 0

Default value: 0

### The `"legends-line-width"` property

      "legends-line-width"       gint                  : Read / Write

Allowed values: >= 0

Default value: 0

### The `"legends-shadow-width"` property

      "legends-shadow-width"     gint                  : Read / Write

Allowed values: >= 0

Default value: 0

### The `"legends-show"` property

      "legends-show"             gboolean              : Read / Write

Default value: FALSE

### The `"legends-transparent"` property

      "legends-transparent"      gboolean              : Read / Write

Default value: FALSE

### The `"legends-width"` property

      "legends-width"            gint                  : Read / Write

Allowed values: >= 0

Default value: 0

### The `"legends-x"` property

      "legends-x"                gdouble               : Read / Write

Default value: 0

### The `"legends-y"` property

      "legends-y"                gdouble               : Read / Write

Default value: 0

### The `"magnification"` property

      "magnification"            gdouble               : Read / Write

Allowed values: >= 0

Default value: 0

### The `"reflect-x"` property

      "reflect-x"                gboolean              : Read / Write

Default value: FALSE

### The `"reflect-y"` property

      "reflect-y"                gboolean              : Read / Write

Default value: FALSE

### The `"right-align"` property

      "right-align"              gdouble               : Read / Write

Allowed values: >= 0

Default value: 0

### The `"right-axis"` property

      "right-axis"               GtkPlotAxis*          : Read

### The `"show-x0"` property

      "show-x0"                  gboolean              : Read / Write

Default value: FALSE

### The `"show-y0"` property

      "show-y0"                  gboolean              : Read / Write

Default value: FALSE

### The `"top-align"` property

      "top-align"                gdouble               : Read / Write

Allowed values: >= 0

Default value: 0

### The `"top-axis"` property

      "top-axis"                 GtkPlotAxis*          : Read

### The `"transparent"` property

      "transparent"              gboolean              : Read / Write

Default value: FALSE

### The `"use-pixmap"` property

      "use-pixmap"               gboolean              : Read / Write

Default value: FALSE

### The `"width"` property

      "width"                    gdouble               : Read / Write

Allowed values: >= 0

Default value: 0

### The `"x"` property

      "x"                        gdouble               : Read / Write

Default value: 0

### The `"x0-line"` property

      "x0-line"                  gpointer              : Read / Write

### The `"xmax"` property

      "xmax"                     gdouble               : Read / Write

Default value: 0

### The `"xmin"` property

      "xmin"                     gdouble               : Read / Write

Default value: 0

### The `"xscale"` property

      "xscale"                   gint                  : Read / Write

Allowed values: >= 0

Default value: 0

### The `"y"` property

      "y"                        gdouble               : Read / Write

Default value: 0

### The `"y0-line"` property

      "y0-line"                  gpointer              : Read / Write

### The `"ymax"` property

      "ymax"                     gdouble               : Read / Write

Default value: 0

### The `"ymin"` property

      "ymin"                     gdouble               : Read / Write

Default value: 0

### The `"yscale"` property

      "yscale"                   gint                  : Read / Write

Allowed values: >= 0

Default value: 0

## Signal Details

### The `"add-data"` signal

    gboolean            user_function                      (GtkPlot     *plot,
                                                            GtkPlotData *arg1,
                                                            gpointer     user_data)      : Run Last

`plot` : | the object which received the signal.
`arg1` : |
`user_data` : | user data set when the signal handler was connected.
Returns : |

### The `"axis-changed"` signal

    gboolean            user_function                      (GtkPlot     *plot,
                                                            GtkPlotAxis *arg1,
                                                            gpointer     user_data)      : Run Last

`plot` : | the object which received the signal.
`arg1` : |
`user_data` : | user data set when the signal handler was connected.
Returns : |

### The `"changed"` signal

    void                user_function                      (GtkPlot *plot,
                                                            gpointer user_data)      : Run Last

`plot` : | a GtkPlot widget.
`user_data` : | user data set when the signal handler was connected.

### The `"moved"` signal

    gboolean            user_function                      (GtkPlot *plot,
                                                            gpointer x,
                                                            gpointer y,
                                                            gpointer user_data)      : Run Last

`plot` : | a GtkPlot widget.
`x` : |
`y` : |
`user_data` : | user data set when the signal handler was connected.
Returns : |

### The `"resized"` signal

    gboolean            user_function                      (GtkPlot *plot,
                                                            gpointer width,
                                                            gpointer height,
                                                            gpointer user_data)      : Run Last

`plot` : | a GtkPlot widget.
`width` : |
`height` : |
`user_data` : | user data set when the signal handler was connected.
Returns : |

### The `"update"` signal

    void                user_function                      (GtkPlot *plot,
                                                            gboolean new_range,
                                                            gpointer user_data)      : Run Last

`plot` : | a GtkPlot widget.
`new_range` : |
`user_data` : | user data set when the signal handler was connected.