![]() |
![]() |
![]() |
GOffice Reference Manual | ![]() |
---|---|---|---|---|
Top | Description |
enum GogAxisPolarUnit; enum GogAxisElemType; GogAxisTick; GogAxisMap; GogAxisMap* gog_axis_map_new (GogAxis *axis
,double offset
,double length
); double gog_axis_map (GogAxisMap *map
,double value
); double gog_axis_map_to_view (GogAxisMap *map
,double value
); double gog_axis_map_derivative_to_view (GogAxisMap *map
,double value
); double gog_axis_map_from_view (GogAxisMap *map
,double value
); gboolean gog_axis_map_finite (GogAxisMap *map
,double value
); double gog_axis_map_get_baseline (GogAxisMap *map
); void gog_axis_map_get_extents (GogAxisMap *map
,double *start
,double *stop
); void gog_axis_map_get_bounds (GogAxisMap *map
,double *minimum
,double *maximum
); void gog_axis_map_free (GogAxisMap *map
); gboolean gog_axis_map_is_valid (GogAxisMap *map
); gboolean gog_axis_map_is_inverted (GogAxisMap *map
); gboolean gog_axis_map_is_discrete (GogAxisMap *map
); GogAxisType gog_axis_get_atype (GogAxis const *axis
); gboolean gog_axis_is_center_on_ticks (GogAxis const *axis
); gboolean gog_axis_is_discrete (GogAxis const *axis
); gboolean gog_axis_is_inverted (GogAxis const *axis
); gboolean gog_axis_get_bounds (GogAxis const *axis
,double *minima
,double *maxima
); void gog_axis_set_bounds (GogAxis *axis
,double minimum
,double maximum
); void gog_axis_set_extents (GogAxis *axis
,double start
,double stop
); GOFormat * gog_axis_get_format (GogAxis const *axis
); GOFormat * gog_axis_get_effective_format (GogAxis const *axis
); gboolean gog_axis_set_format (GogAxis *axis
,GOFormat *fmt
); const GODateConventions * gog_axis_get_date_conv (GogAxis const *axis
); unsigned gog_axis_get_ticks (GogAxis *axis
,GogAxisTick **ticks
); GOData * gog_axis_get_labels (GogAxis const *axis
,GogPlot **plot_that_labeled_axis
); double gog_axis_get_entry (GogAxis const *axis
,GogAxisElemType i
,gboolean *user_defined
); void gog_axis_add_contributor (GogAxis *axis
,GogObject *contrib
); void gog_axis_del_contributor (GogAxis *axis
,GogObject *contrib
); GSList const * gog_axis_contributors (GogAxis *axis
); void gog_axis_clear_contributors (GogAxis *axis
); void gog_axis_bound_changed (GogAxis *axis
,GogObject *contrib
); GogGridLine * gog_axis_get_grid_line (GogAxis *axis
,gboolean major
); void gog_axis_set_polar_unit (GogAxis *axis
,GogAxisPolarUnit unit
); GogAxisPolarUnit gog_axis_get_polar_unit (GogAxis *axis
); double gog_axis_get_polar_perimeter (GogAxis *axis
); double gog_axis_get_circular_rotation (GogAxis *axis
);
An axis of a GogPlot. The axis handles things like the bounds, ticks, and tick value formats. When used in plots with X/Y/Z axes, it can optionally have one GogLabel objects in the role "Label".
typedef enum { GOG_AXIS_POLAR_UNIT_DEGREES, GOG_AXIS_POLAR_UNIT_RADIANS, GOG_AXIS_POLAR_UNIT_GRADS, GOG_AXIS_POLAR_UNIT_MAX } GogAxisPolarUnit;
typedef enum { GOG_AXIS_ELEM_MIN = 0, GOG_AXIS_ELEM_MAX, GOG_AXIS_ELEM_MAJOR_TICK, GOG_AXIS_ELEM_MINOR_TICK, GOG_AXIS_ELEM_CROSS_POINT, GOG_AXIS_ELEM_MAX_ENTRY } GogAxisElemType;
The indices of the GOData associated to the axis.
minimum value. | |
maximum value. | |
distance between two major ticks. | |
distance between two minor ticks. | |
position of the other axis crossing. | |
maximum value, should not occur. |
typedef struct { double position; GogAxisTickTypes type; GOString *str; } GogAxisTick;
position on the axis. | |
GogAxisTickTypes |
GogAxisTickTypes |
GOString * |
label, might be rich text. |
GogAxisMap* gog_axis_map_new (GogAxis *axis
,double offset
,double length
);
Creates a GogAxisMap for data mapping to plot window. offset and length are optional parameters to be used with gog_axis_map_to_view in order to translates data coordinates into canvas space.
|
a GogAxis |
|
start of plot area. |
|
length of plot area. |
Returns : |
a newly allocated GogAxisMap. [transfer full] |
double gog_axis_map (GogAxisMap *map
,double value
);
Converts value
to plot coordinates. A value in [0,1.0] range means a data
within axis bounds.
|
a GogAxisMap |
|
value to map to plot space. |
Returns : |
mapped value. |
double gog_axis_map_to_view (GogAxisMap *map
,double value
);
Converts value from data space to canvas space, using offset and length parameters given to gog_axis_map_new.
|
a GogAxisMap |
|
value to map to canvas space |
Returns : |
a value in canvas coordinates |
double gog_axis_map_derivative_to_view (GogAxisMap *map
,double value
);
|
a GogAxisMap |
|
value to map to canvas space |
Returns : |
the derivative of the mapping expression at value. |
double gog_axis_map_from_view (GogAxisMap *map
,double value
);
Converts value from canvas space to data space.
|
a GogAxisMap |
|
value to unmap from canvas space. |
Returns : |
value in data coordinates |
gboolean gog_axis_map_finite (GogAxisMap *map
,double value
);
Tests whether value
is valid for the given map
.
|
a GogAxisMap |
|
value to test |
Returns : |
TRUE if value means something
|
double gog_axis_map_get_baseline (GogAxisMap *map
);
|
a GogAxisMap |
Returns : |
the baseline for map , in view coordinates,
clipped to offset and offset+length, where offset and length
are the parameters of gog_axis_map_new.
|
void gog_axis_map_get_extents (GogAxisMap *map
,double *start
,double *stop
);
Gets start and stop for the whole chart relative to the given axis map in data coordinates. If axis is not inverted, start = minimum and stop = maximum. If axis is invalid, it'll return arbitrary bounds.
Any of start
and stop
may be NULL.
|
a GogAxisMap |
|
location to store start for this axis |
|
location to store stop for this axis |
void gog_axis_map_get_bounds (GogAxisMap *map
,double *minimum
,double *maximum
);
Gets bounds for the whole chart relative to the given axis map in data coordinates. If axis is invalid, it'll return arbitrary bounds.
Any of minimum
and maximum
may be NULL.
|
a GogAxisMap |
|
location to store minimum for this axis |
|
location to store maximum for this axis |
void gog_axis_map_free (GogAxisMap *map
);
Frees GogAxisMap object.
|
a GogAxisMap |
gboolean gog_axis_map_is_valid (GogAxisMap *map
);
Tests if map
was correctly initialized, i.e. if bounds are
valid.
|
a GogAxisMap |
Returns : |
TRUE if map is valid
|
gboolean gog_axis_map_is_inverted (GogAxisMap *map
);
|
a GogAxisMap |
Returns : |
TRUE is the axis is inverted;
|
gboolean gog_axis_map_is_discrete (GogAxisMap *map
);
|
a GogAxisMap |
Returns : |
TRUE is the axis is discrete;
|
gboolean gog_axis_is_center_on_ticks (GogAxis const *axis
);
|
GogAxis |
Returns : |
TRUE if labels are centered on ticks when axis is discrete
|
gboolean gog_axis_is_discrete (GogAxis const *axis
);
|
GogAxis |
Returns : |
TRUE if axis enumerates a set of discrete items, rather than a
continuous value
|
gboolean gog_axis_is_inverted (GogAxis const *axis
);
|
GogAxis |
Returns : |
TRUE if axis is inverted.
|
gboolean gog_axis_get_bounds (GogAxis const *axis
,double *minima
,double *maxima
);
|
GogAxis |
|
non-NULL storage for result |
|
non-NULL storage for result |
Returns : |
TRUE if the bounds stored in minima and maxima are sane
|
void gog_axis_set_bounds (GogAxis *axis
,double minimum
,double maximum
);
Sets axis bounds. If minimum or maximum are not finite values, corresponding bound remains unchanged.
|
GogAxis |
|
axis low bound |
|
axis high bound |
void gog_axis_set_extents (GogAxis *axis
,double start
,double stop
);
Set axis exents. It's a convenience function that sets axis bounds taking into account invert flag.
|
GogAxis |
|
axis start bound |
|
axis stop bound |
GOFormat * gog_axis_get_format (GogAxis const *axis
);
|
GogAxis |
Returns : |
the format assigned to axis but does not add
a reference. [transfer none]
|
GOFormat * gog_axis_get_effective_format (GogAxis const *axis
);
|
GogAxis |
Returns : |
the GOFormat used for the axis labels. Differs from gog_axis_get_format in that it never returns a general format (see go_format_is_general). [transfer none] |
gboolean gog_axis_set_format (GogAxis *axis
,GOFormat *fmt
);
Absorbs a reference to fmt
, and accepts NULL.
|
GogAxis |
|
GOFormat |
Returns : |
TRUE if things changed |
const GODateConventions * gog_axis_get_date_conv (GogAxis const *axis
);
|
|
Returns : |
unsigned gog_axis_get_ticks (GogAxis *axis
,GogAxisTick **ticks
);
An accessor to axis
->ticks.
|
GogAxis |
|
an array of GogAxisTick |
Returns : |
number of ticks |
GOData * gog_axis_get_labels (GogAxis const *axis
,GogPlot **plot_that_labeled_axis
);
|
a GogAxis |
|
a GogPlot |
Returns : |
the possibly NULL GOData used as a label for this axis along with the plot that it was associated with. [transfer none] |
double gog_axis_get_entry (GogAxis const *axis
,GogAxisElemType i
,gboolean *user_defined
);
|
GogAxis |
|
an optionally NULL pointr to gboolean |
Returns : |
the value of axis element i and sets user_defined or
NaN on error
|
void gog_axis_add_contributor (GogAxis *axis
,GogObject *contrib
);
Register contrib
as taking part in the negotiation of axis
's bounds.
|
GogAxis |
|
GogObject (can we relax this to use an interface ?) |
void gog_axis_del_contributor (GogAxis *axis
,GogObject *contrib
);
contrib
no longer takes part in the negotiation of axis
's bounds.
|
GogAxis |
|
GogObject (can we relax this to use an interface ?) |
GSList const * gog_axis_contributors (GogAxis *axis
);
|
GogAxis |
Returns : |
the list of the axis contributors. [element-type GogObject][transfer none GogObject] |
void gog_axis_bound_changed (GogAxis *axis
,GogObject *contrib
);
|
GogAxis |
|
GogObject |
GogGridLine * gog_axis_get_grid_line (GogAxis *axis
,gboolean major
);
|
GogAxis |
|
whether to retrieve major or minor grid line. |
Returns : |
a pointer to GridLine object associated to given axis, NULL if it doesn't exists. [transfer none] |
void gog_axis_set_polar_unit (GogAxis *axis
,GogAxisPolarUnit unit
);
Sets unit of a circular axis. See GogAxisPolarUnit for valid values.
|
a GogAxis |
|
GogAxisPolarUnit |
GogAxisPolarUnit gog_axis_get_polar_unit (GogAxis *axis
);
|
a GogAxis |
Returns : |
unit of axis if it's a circular axis of a polar
axis set, -1 otherwise.
|
double gog_axis_get_polar_perimeter (GogAxis *axis
);
|
|
Returns : |