GtkPlot
3
GTKEXTRA Library

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

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

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

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

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

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

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

Returns :

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