GtkPlot: GtkExtra Reference Manual

## GtkPlot GtkPlot — 2d scientific plots widget |

## Functions

gdouble | (*GtkPlotFunc) ()
gdouble | (*GtkPlotFunc3D) ()
void | (*GtkPlotIterator) ()
void | (*GtkPlotTicksAutoscaleFunc) ()
gdouble | (*GtkPlotTicksInverseFunc) ()
void | (*GtkPlotTicksRecalcFunc) ()
gdouble | (*GtkPlotTicksTransformFunc) ()
void | (*GtkPlotParseLabelFunc) ()
GtkWidget * | gtk_plot_new ()
GtkWidget * | gtk_plot_new_with_size ()
void | gtk_plot_construct ()
void | gtk_plot_construct_with_size ()
void | gtk_plot_set_drawable ()
GdkDrawable * | gtk_plot_get_drawable ()
void | gtk_plot_set_pc ()
void | gtk_plot_set_background_pixmap ()
void | gtk_plot_set_transparent ()
gboolean | gtk_plot_is_transparent ()
void | gtk_plot_get_position ()
void | gtk_plot_get_size ()
GtkAllocation | gtk_plot_get_internal_allocation ()
void | gtk_plot_set_background ()
void | gtk_plot_paint ()
void | gtk_plot_refresh ()
void | gtk_plot_move ()
void | gtk_plot_resize ()
void | gtk_plot_set_magnification ()
void | gtk_plot_move_resize ()
void | gtk_plot_get_pixel ()
void | gtk_plot_get_point ()
void | gtk_plot_clip_data ()
void | gtk_plot_set_xrange ()
void | gtk_plot_set_yrange ()
void | gtk_plot_set_range ()
void | gtk_plot_autoscale ()
void | gtk_plot_get_xrange ()
void | gtk_plot_get_yrange ()
void | gtk_plot_set_xscale ()
void | gtk_plot_set_yscale ()
GtkPlotScale | gtk_plot_get_xscale ()
GtkPlotScale | gtk_plot_get_yscale ()
void | gtk_plot_reflect_x ()
void | gtk_plot_reflect_y ()
gboolean | gtk_plot_is_x_reflected ()
gboolean | gtk_plot_is_y_reflected ()
GtkPlotText * | gtk_plot_put_text ()
gint | gtk_plot_remove_text ()
void | gtk_plot_text_get_size ()
void | gtk_plot_text_get_area ()
void | gtk_plot_text_set_attributes ()
void | gtk_plot_text_set_border ()
void | gtk_plot_draw_line ()
void | gtk_plot_draw_text ()
void | gtk_plot_set_ticks ()
void | gtk_plot_set_major_ticks ()
void | gtk_plot_set_minor_ticks ()
void | gtk_plot_set_ticks_limits ()
void | gtk_plot_unset_ticks_limits ()
void | gtk_plot_set_break ()
void | gtk_plot_remove_break ()
GtkObject * | gtk_plot_axis_new ()
void | gtk_plot_axis_construct ()
GtkPlotAxis * | gtk_plot_get_axis ()
void | gtk_plot_axis_set_visible ()
gboolean | gtk_plot_axis_visible ()
void | gtk_plot_axis_set_title ()
void | gtk_plot_axis_show_title ()
void | gtk_plot_axis_hide_title ()
void | gtk_plot_axis_move_title ()
void | gtk_plot_axis_justify_title ()
void | gtk_plot_axis_set_attributes ()
void | gtk_plot_axis_get_attributes ()
void | gtk_plot_axis_set_ticks ()
void | gtk_plot_axis_set_major_ticks ()
void | gtk_plot_axis_set_minor_ticks ()
void | gtk_plot_axis_set_ticks_length ()
void | gtk_plot_axis_set_ticks_width ()
void | gtk_plot_axis_show_ticks ()
void | gtk_plot_axis_set_ticks_limits ()
void | gtk_plot_axis_unset_ticks_limits ()
void | gtk_plot_axis_set_tick_labels ()
void | gtk_plot_axis_set_break ()
void | gtk_plot_axis_remove_break ()
void | gtk_plot_axis_show_labels ()
void | gtk_plot_axis_title_set_attributes ()
void | gtk_plot_axis_set_labels_attributes ()
void | gtk_plot_axis_set_labels_style ()
void | gtk_plot_axis_set_labels_offset ()
gint | gtk_plot_axis_get_labels_offset ()
void | gtk_plot_axis_use_custom_tick_labels ()
void | gtk_plot_axis_set_labels_suffix ()
void | gtk_plot_axis_set_labels_prefix ()
gchar * | gtk_plot_axis_get_labels_suffix ()
gchar * | gtk_plot_axis_get_labels_prefix ()
void | gtk_plot_axis_ticks_recalc ()
void | gtk_plot_axis_ticks_autoscale ()
gdouble | gtk_plot_axis_ticks_transform ()
gdouble | gtk_plot_axis_ticks_inverse ()
void | gtk_plot_axis_parse_label ()
void | gtk_plot_x0_set_visible ()
gboolean | gtk_plot_x0_visible ()
void | gtk_plot_y0_set_visible ()
gboolean | gtk_plot_y0_visible ()
void | gtk_plot_grids_set_on_top ()
gboolean | gtk_plot_grids_on_top ()
void | gtk_plot_grids_set_visible ()
void | gtk_plot_grids_visible ()
void | gtk_plot_y0line_set_attributes ()
void | gtk_plot_x0line_set_attributes ()
void | gtk_plot_major_vgrid_set_attributes ()
void | gtk_plot_minor_vgrid_set_attributes ()
void | gtk_plot_major_hgrid_set_attributes ()
void | gtk_plot_minor_hgrid_set_attributes ()
void | gtk_plot_show_legends ()
void | gtk_plot_hide_legends ()
void | gtk_plot_set_legends_border ()
void | gtk_plot_legends_move ()
void | gtk_plot_legends_get_position ()
GtkAllocation | gtk_plot_legends_get_allocation ()
void | gtk_plot_legends_set_attributes ()
void | gtk_plot_set_line_attributes ()
void | gtk_plot_add_data ()
gint | gtk_plot_remove_data ()
GtkPlotData * | gtk_plot_add_function ()

## Properties

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

## Signals

gboolean | add-data | Run Last
gboolean | axis-changed | Run Last
void | changed | Run Last
gboolean | moved | Run Last
gboolean | resized | Run Last
void | update | Run Last

## Types and Values

struct | GtkPlot
struct | GtkPlotAxis
struct | GtkPlotText
struct | GtkPlotLine
struct | GtkPlotSymbol
struct | GtkPlotTick
struct | GtkPlotTicks
struct | GtkPlotVector
struct | GtkPlotMarker
enum | GtkPlotScale
enum | GtkPlotSymbolType
enum | GtkPlotSymbolStyle
enum | GtkPlotBorderStyle
enum | GtkPlotLineStyle
enum | GtkPlotConnector
enum | GtkPlotLabelPos
enum | GtkPlotError
enum | GtkPlotOrientation
enum | GtkPlotAxisPos
enum | GtkPlotLabelStyle
enum | GtkPlotTicksPos
#define | gtk_plot_axis_set_labels_numbers

## Object Hierarchy

        GBoxed
        ╰── GtkPlotMarker
        GObject
        ╰── GInitiallyUnowned
            ╰── GtkObject
                ├── GtkPlotAxis
                ╰── GtkWidget
                    ╰── GtkMisc
                        ╰── GtkPlot
                            ├── GtkPlot3D
                            ╰── GtkPlotPolar

## Implemented Interfaces

GtkPlot implements AtkImplementorIface and GtkBuildable.

## Includes

    #include <gtkextra.h>

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

## Functions

### GtkPlotFunc ()

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

### GtkPlotFunc3D ()

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

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

### GtkPlotTicksAutoscaleFunc ()

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

### GtkPlotTicksInverseFunc ()

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

### GtkPlotTicksRecalcFunc ()

    void
    (*GtkPlotTicksRecalcFunc) (GtkPlotAxis *axis);

### GtkPlotTicksTransformFunc ()

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

### GtkPlotParseLabelFunc ()

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

### gtk_plot_new ()

    GtkWidget *
    gtk_plot_new (GdkDrawable *drawable);

#### Parameters

drawable | a Gdk drawable |

### gtk_plot_new_with_size ()

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

#### Parameters

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

#### Parameters

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

#### Parameters

plot | a GtkPlot widget |
drawable | a Gdk drawable |

### gtk_plot_set_drawable ()

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

#### Parameters

plot | a GtkPlot widget |
drawable | a Gdk drawable |

### gtk_plot_get_drawable ()

    GdkDrawable *
    gtk_plot_get_drawable (GtkPlot *plot);

#### Parameters

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

#### Parameters

plot | a GtkPlot widget |
pc | a GtkPlotPc |

### gtk_plot_set_background_pixmap ()

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

#### Parameters

plot | a GtkPlot widget |
pixmap | a Gdk pixmap |

### gtk_plot_set_transparent ()

    void
    gtk_plot_set_transparent (GtkPlot *plot,
                              gboolean transparent);

#### Parameters

plot | a GtkPlot widget |

### gtk_plot_is_transparent ()

    gboolean
    gtk_plot_is_transparent (GtkPlot *plot);

#### Parameters

plot | a GtkPlot widget |

### gtk_plot_get_position ()

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

#### Parameters

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

### gtk_plot_get_size ()

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

### gtk_plot_get_internal_allocation ()

    GtkAllocation
    gtk_plot_get_internal_allocation (GtkPlot *plot);

#### Parameters

plot | a GtkPlot widget. |

#### Returns

(transfer none) internal_allocation

### gtk_plot_set_background ()

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

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_paint ()

    void
    gtk_plot_paint (GtkPlot *plot);

#### Parameters

plot | a GtkPlot widget |

### gtk_plot_refresh ()

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

#### Parameters

plot | a GtkPlot widget |
drawing_area | a GdkRectangle |

### gtk_plot_move ()

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

### gtk_plot_resize ()

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

#### Parameters

plot | a GtkPlot widget.a GtkPlot widget. |

### gtk_plot_set_magnification ()

    void
    gtk_plot_set_magnification (GtkPlot *plot,
                                gdouble magnification);

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_move_resize ()

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

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_get_pixel ()

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

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_get_point ()

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

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_clip_data ()

    void
    gtk_plot_clip_data (GtkPlot *plot,
                        gboolean clip);

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_set_xrange ()

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

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_set_yrange ()

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

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_set_range ()

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

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_autoscale ()

    void
    gtk_plot_autoscale (GtkPlot *plot);

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_get_xrange ()

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

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_get_yrange ()

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

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_set_xscale ()

    void
    gtk_plot_set_xscale (GtkPlot *plot,
                         GtkPlotScale scale_type);

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_set_yscale ()

    void
    gtk_plot_set_yscale (GtkPlot *plot,
                         GtkPlotScale scale_type);

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_get_xscale ()

    GtkPlotScale
    gtk_plot_get_xscale (GtkPlot *plot);

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_get_yscale ()

    GtkPlotScale
    gtk_plot_get_yscale (GtkPlot *plot);

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_reflect_x ()

    void
    gtk_plot_reflect_x (GtkPlot *plot,
                        gboolean reflect);

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_reflect_y ()

    void
    gtk_plot_reflect_y (GtkPlot *plot,
                        gboolean reflect);

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_is_x_reflected ()

    gboolean
    gtk_plot_is_x_reflected (GtkPlot *plot);

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_is_y_reflected ()

    gboolean
    gtk_plot_is_y_reflected (GtkPlot *plot);

#### Parameters

plot | a GtkPlot widget. |

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

#### Parameters

plot | a GtkPlot widget. |

#### Returns

(transfer none) the GtkPlotText

### gtk_plot_remove_text ()

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

#### Parameters

plot | a GtkPlot widget. |

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

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

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

### gtk_plot_text_set_border ()

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

### gtk_plot_draw_line ()

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

#### Parameters

plot | a GtkPlot widget |

### gtk_plot_draw_text ()

    void
    gtk_plot_draw_text (GtkPlot *plot,
                        GtkPlotText text);

### gtk_plot_set_ticks ()

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

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_set_major_ticks ()

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

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_set_minor_ticks ()

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

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_set_ticks_limits ()

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

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_unset_ticks_limits ()

    void
    gtk_plot_unset_ticks_limits (GtkPlot *plot,
                                 GtkPlotOrientation orientation);

#### Parameters

plot | a GtkPlot widget. |

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

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_remove_break ()

    void
    gtk_plot_remove_break (GtkPlot *plot,
                           GtkPlotOrientation orientation);

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_axis_new ()

    GtkObject *
    gtk_plot_axis_new (GtkPlotOrientation orientation);

### gtk_plot_axis_construct ()

    void
    gtk_plot_axis_construct (GtkPlotAxis *axis,
                             GtkPlotOrientation orientation);

### gtk_plot_get_axis ()

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

#### Parameters

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

#### Parameters

axis | a GtkPlotAxis. |

### gtk_plot_axis_visible ()

    gboolean
    gtk_plot_axis_visible (GtkPlotAxis *axis);

#### Parameters

axis | a GtkPlotAxis. |

### gtk_plot_axis_set_title ()

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

#### Parameters

axis | a GtkPlotAxis. `title` |

### gtk_plot_axis_show_title ()

    void
    gtk_plot_axis_show_title (GtkPlotAxis *axis);

#### Parameters

axis | a GtkPlotAxis. |

### gtk_plot_axis_hide_title ()

    void
    gtk_plot_axis_hide_title (GtkPlotAxis *axis);

#### Parameters

axis | a GtkPlotAxis. |

### gtk_plot_axis_move_title ()

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

#### Parameters

axis | a GtkPlotAxis. |

### gtk_plot_axis_justify_title ()

    void
    gtk_plot_axis_justify_title (GtkPlotAxis *axis,
                                 GtkJustification justification);

#### Parameters

axis | a GtkPlotAxis. |

### gtk_plot_axis_set_attributes ()

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

#### Parameters

axis | a GtkPlotAxis. |

### gtk_plot_axis_get_attributes ()

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

#### Parameters

axis | a GtkPlotAxis. |
width | color: |

### gtk_plot_axis_set_ticks ()

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

#### Parameters

axis | a GtkPlotAxis. |

### gtk_plot_axis_set_major_ticks ()

    void
    gtk_plot_axis_set_major_ticks (GtkPlotAxis *axis,
                                   gdouble major_step);

#### Parameters

axis | a GtkPlotAxis. |

### gtk_plot_axis_set_minor_ticks ()

    void
    gtk_plot_axis_set_minor_ticks (GtkPlotAxis *axis,
                                   gint nminor);

#### Parameters

axis | a GtkPlotAxis. |

### gtk_plot_axis_set_ticks_length ()

    void
    gtk_plot_axis_set_ticks_length (GtkPlotAxis *axis,
                                    gint length);

#### Parameters

axis | a GtkPlotAxis. |

### gtk_plot_axis_set_ticks_width ()

    void
    gtk_plot_axis_set_ticks_width (GtkPlotAxis *axis,
                                   gfloat width);

#### Parameters

axis | a GtkPlotAxis. |

### gtk_plot_axis_show_ticks ()

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

#### Parameters

axis | a GtkPlotAxis. |

### gtk_plot_axis_set_ticks_limits ()

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

#### Parameters

axis | a GtkPlotAxis. |

### gtk_plot_axis_unset_ticks_limits ()

    void
    gtk_plot_axis_unset_ticks_limits (GtkPlotAxis *axis);

#### Parameters

axis | a GtkPlotAxis. |

### gtk_plot_axis_set_tick_labels ()

    void
    gtk_plot_axis_set_tick_labels (GtkPlotAxis *axis,
                                   GtkPlotArray *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);

#### Parameters

axis | a GtkPlotAxis. |

### gtk_plot_axis_remove_break ()

    void
    gtk_plot_axis_remove_break (GtkPlotAxis *axis);

#### Parameters

axis | a GtkPlotAxis. |

### gtk_plot_axis_show_labels ()

    void
    gtk_plot_axis_show_labels (GtkPlotAxis *axis,
                               gint labels_mask);

#### Parameters

axis | a GtkPlotAxis. |

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

#### Parameters

axis | a GtkPlotAxis. |

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

#### Parameters

axis | a GtkPlotAxis. |

### gtk_plot_axis_set_labels_style ()

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

#### Parameters

axis | a GtkPlotAxis. |

### gtk_plot_axis_set_labels_offset ()

    void
    gtk_plot_axis_set_labels_offset (GtkPlotAxis *axis,
                                     gint offset);

#### Parameters

axis | a GtkPlotAxis. |

### gtk_plot_axis_get_labels_offset ()

    gint
    gtk_plot_axis_get_labels_offset (GtkPlotAxis *axis);

#### Parameters

axis | a GtkPlotAxis. |

### gtk_plot_axis_use_custom_tick_labels ()

    void
    gtk_plot_axis_use_custom_tick_labels (GtkPlotAxis *axis,
                                          gboolean use);

### gtk_plot_axis_set_labels_suffix ()

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

#### Parameters

axis | a GtkPlotAxis. |

### gtk_plot_axis_set_labels_prefix ()

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

#### Parameters

axis | a GtkPlotAxis. |

### gtk_plot_axis_get_labels_suffix ()

    gchar *
    gtk_plot_axis_get_labels_suffix (GtkPlotAxis *axis);

#### Parameters

axis | a GtkPlotAxis. |

### gtk_plot_axis_get_labels_prefix ()

    gchar *
    gtk_plot_axis_get_labels_prefix (GtkPlotAxis *axis);

#### Parameters

axis | a GtkPlotAxis. |

### gtk_plot_axis_ticks_recalc ()

    void
    gtk_plot_axis_ticks_recalc (GtkPlotAxis *axis);

### gtk_plot_axis_ticks_autoscale ()

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

### gtk_plot_axis_ticks_transform ()

    gdouble
    gtk_plot_axis_ticks_transform (GtkPlotAxis *axis,
                                   gdouble y);

### gtk_plot_axis_ticks_inverse ()

    gdouble
    gtk_plot_axis_ticks_inverse (GtkPlotAxis *axis,
                                 gdouble x);

### gtk_plot_axis_parse_label ()

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

### gtk_plot_x0_set_visible ()

    void
    gtk_plot_x0_set_visible (GtkPlot *plot,
                             gboolean visible);

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_x0_visible ()

    gboolean
    gtk_plot_x0_visible (GtkPlot *plot);

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_y0_set_visible ()

    void
    gtk_plot_y0_set_visible (GtkPlot *plot,
                             gboolean visible);

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_y0_visible ()

    gboolean
    gtk_plot_y0_visible (GtkPlot *plot);

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_grids_set_on_top ()

    void
    gtk_plot_grids_set_on_top (GtkPlot *plot,
                               gboolean on_top);

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_grids_on_top ()

    gboolean
    gtk_plot_grids_on_top (GtkPlot *plot);

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_grids_set_visible ()

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

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_grids_visible ()

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

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_y0line_set_attributes ()

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

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_x0line_set_attributes ()

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

### gtk_plot_major_vgrid_set_attributes ()

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

### gtk_plot_minor_vgrid_set_attributes ()

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

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_major_hgrid_set_attributes ()

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

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_minor_hgrid_set_attributes ()

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

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_show_legends ()

    void
    gtk_plot_show_legends (GtkPlot *plot);

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_hide_legends ()

    void
    gtk_plot_hide_legends (GtkPlot *plot);

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_set_legends_border ()

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

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_legends_move ()

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

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_legends_get_position ()

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

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_legends_get_allocation ()

    GtkAllocation
    gtk_plot_legends_get_allocation (GtkPlot *plot);

#### Parameters

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

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_set_line_attributes ()

    void
    gtk_plot_set_line_attributes (GtkPlot *plot,
                                  GtkPlotLine line);

#### Parameters

plot | a GtkPlot widget |

### gtk_plot_add_data ()

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

### gtk_plot_remove_data ()

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

#### Parameters

plot | a GtkPlot widget. |

### gtk_plot_add_function ()

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

#### Parameters

plot | a GtkPlot widget. |
function | the dataset generation function. | [scope async]

#### Returns

(transfer none) the GtkPlotData

## Types and Values

### struct GtkPlot

    struct GtkPlot;

### struct GtkPlotAxis

    struct GtkPlotAxis;

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

### struct GtkPlotText

    struct GtkPlotText {
    };

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

### struct GtkPlotLine

    struct GtkPlotLine {
    };

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

### struct GtkPlotSymbol

    struct GtkPlotSymbol {
    };

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

### struct GtkPlotTick

    struct GtkPlotTick {
    };

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

### struct GtkPlotTicks

    struct GtkPlotTicks {
    };

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

### struct GtkPlotVector

    struct GtkPlotVector {
    };

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

### struct GtkPlotMarker

    struct GtkPlotMarker {
    };

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

### enum GtkPlotScale

#### Members

GTK_PLOT_SCALE_LINEAR |  |
GTK_PLOT_SCALE_LOG10 |  |

### enum GtkPlotSymbolType

#### Members

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

### enum GtkPlotSymbolStyle

#### Members

GTK_PLOT_SYMBOL_EMPTY |  |
GTK_PLOT_SYMBOL_FILLED |  |
GTK_PLOT_SYMBOL_OPAQUE |  |

### enum GtkPlotBorderStyle

#### Members

GTK_PLOT_BORDER_NONE |  |
GTK_PLOT_BORDER_LINE |  |
GTK_PLOT_BORDER_SHADOW |  |

### enum GtkPlotLineStyle

#### Members

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

### enum GtkPlotConnector

#### Members

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

### enum GtkPlotLabelPos

#### Members

GTK_PLOT_LABEL_NONE |  |
GTK_PLOT_LABEL_IN |  |
GTK_PLOT_LABEL_OUT |  |

### enum GtkPlotError

#### Members

GTK_PLOT_ERROR_DIV_ZERO |  |
GTK_PLOT_ERROR_LOG_NEG |  |

### enum GtkPlotOrientation

#### Members

GTK_PLOT_AXIS_X |  |
GTK_PLOT_AXIS_Y |  |
GTK_PLOT_AXIS_Z |  |

### enum GtkPlotAxisPos

#### Members

GTK_PLOT_AXIS_LEFT |  |
GTK_PLOT_AXIS_RIGHT |  |
GTK_PLOT_AXIS_TOP |  |
GTK_PLOT_AXIS_BOTTOM |  |

### enum GtkPlotLabelStyle

#### Members

GTK_PLOT_LABEL_FLOAT |  |
GTK_PLOT_LABEL_EXP |  |
GTK_PLOT_LABEL_POW |  |

### enum GtkPlotTicksPos

#### Members

GTK_PLOT_TICKS_NONE |  |
GTK_PLOT_TICKS_IN |  |
GTK_PLOT_TICKS_OUT |  |

### gtk_plot_axis_set_labels_numbers

    #define gtk_plot_axis_set_labels_numbers gtk_plot_axis_set_labels_style

## Property Details

### The `“allocation-height”` property

      “allocation-height”        gint

Flags: Read / Write

Allowed values: >= -2147483647

Default value: 0

### The `“allocation-width”` property

      “allocation-width”         gint

Flags: Read / Write

Allowed values: >= -2147483647

Default value: 0

### The `“allocation-x”` property

      “allocation-x”             gint

Flags: Read / Write

Allowed values: >= -2147483647

Default value: 0

### The `“allocation-y”` property

      “allocation-y”             gint

Flags: Read / Write

Allowed values: >= -2147483647

Default value: 0

### The `“bg-color”` property

      “bg-color”                 gpointer

Flags: Read / Write

### The `“bg-pixmap”` property

      “bg-pixmap”                gpointer

Flags: Read / Write

### The `“bottom-align”` property

      “bottom-align”             gdouble

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“bottom-axis”` property

      “bottom-axis”              GtkPlotAxis *

Flags: Read

### The `“clip-data”` property

      “clip-data”                gboolean

Flags: Read / Write

Default value: FALSE

### The `“grids-on-top”` property

      “grids-on-top”             gboolean

Flags: Read / Write

Default value: FALSE

### The `“height”` property

      “height”                   gdouble

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“left-align”` property

      “left-align”               gdouble

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“left-axis”` property

      “left-axis”                GtkPlotAxis *

Flags: Read

### The `“legends-attr-text”` property

      “legends-attr-text”        gpointer

Flags: Read / Write

### The `“legends-border”` property

      “legends-border”           gint

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“legends-border-width”` property

      “legends-border-width”     gint

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“legends-height”` property

      “legends-height”           gint

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“legends-line-width”` property

      “legends-line-width”       gint

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“legends-shadow-width”` property

      “legends-shadow-width”     gint

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“legends-show”` property

      “legends-show”             gboolean

Flags: Read / Write

Default value: FALSE

### The `“legends-transparent”` property

      “legends-transparent”      gboolean

Flags: Read / Write

Default value: FALSE

### The `“legends-width”` property

      “legends-width”            gint

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“legends-x”` property

      “legends-x”                gdouble

Flags: Read / Write

Default value: 0

### The `“legends-y”` property

      “legends-y”                gdouble

Flags: Read / Write

Default value: 0

### The `“magnification”` property

      “magnification”            gdouble

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“reflect-x”` property

      “reflect-x”                gboolean

Flags: Read / Write

Default value: FALSE

### The `“reflect-y”` property

      “reflect-y”                gboolean

Flags: Read / Write

Default value: FALSE

### The `“right-align”` property

      “right-align”              gdouble

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“right-axis”` property

      “right-axis”               GtkPlotAxis *

Flags: Read

### The `“show-x0”` property

      “show-x0”                  gboolean

Flags: Read / Write

Default value: FALSE

### The `“show-y0”` property

      “show-y0”                  gboolean

Flags: Read / Write

Default value: FALSE

### The `“top-align”` property

      “top-align”                gdouble

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“top-axis”` property

      “top-axis”                 GtkPlotAxis *

Flags: Read

### The `“transparent”` property

      “transparent”              gboolean

Flags: Read / Write

Default value: FALSE

### The `“use-pixmap”` property

      “use-pixmap”               gboolean

Flags: Read / Write

Default value: FALSE

### The `“width”` property

      “width”                    gdouble

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“x”` property

      “x”                        gdouble

Flags: Read / Write

Default value: 0

### The `“x0-line”` property

      “x0-line”                  gpointer

Flags: Read / Write

### The `“xmax”` property

      “xmax”                     gdouble

Flags: Read / Write

Default value: 0

### The `“xmin”` property

      “xmin”                     gdouble

Flags: Read / Write

Default value: 0

### The `“xscale”` property

      “xscale”                   gint

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“y”` property

      “y”                        gdouble

Flags: Read / Write

Default value: 0

### The `“y0-line”` property

      “y0-line”                  gpointer

Flags: Read / Write

### The `“ymax”` property

      “ymax”                     gdouble

Flags: Read / Write

Default value: 0

### The `“ymin”` property

      “ymin”                     gdouble

Flags: Read / Write

Default value: 0

### The `“yscale”` property

      “yscale”                   gint

Flags: Read / Write

Allowed values: >= 0

Default value: 0

## Signal Details

### The `“add-data”` signal

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

#### Parameters

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

Flags: Run Last

### The `“axis-changed”` signal

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

#### Parameters

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

Flags: Run Last

### The `“changed”` signal

    void
    user_function (GtkPlot *plot,
                   gpointer user_data)

#### Parameters

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

Flags: Run Last

### The `“moved”` signal

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

#### Parameters

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

Flags: Run Last

### The `“resized”` signal

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

#### Parameters

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

Flags: Run Last

### The `“update”` signal

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

#### Parameters

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

Flags: Run Last