X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=acre.h;h=663835c333dd8daca54b1f0da639f357280ea460;hb=26f1c9085c1b3eb6390cacb4870dfea8f7f3dce7;hp=0c602c18547cfe919234a81d45b1b2f7a739937d;hpb=8f4c1fdd2b59b651574100aa9f1c3dbce119a612;p=acre diff --git a/acre.h b/acre.h index 0c602c1..663835c 100644 --- a/acre.h +++ b/acre.h @@ -42,6 +42,52 @@ acre_set_x_axis_label (acre_t *acre, const char *label); void acre_set_y_axis_label (acre_t *acre, const char *label); +/* Get the range of data values in the X dimension. */ +void +acre_get_x_axis_data_range (acre_t *acre, double *x_min, double *x_max); + +/* Get the range of the currently viewable X axis. */ +void +acre_get_x_axis_range (acre_t *acre, double *x_min, double *x_max); + +/* Set the range of the currently viewable X axis. */ +void +acre_set_x_axis_range (acre_t *acre, double x_min, double x_max); + +/* Set the X axis viewable range to be sized automatically. + * + * If both X and Y axes are sized automatically, then the X range will + * be set to the full range of data in the X dimension. + * + * But if the Y axis has been set to a limited viewable range, (with + * acre_set_y_axis_range), then the X axis will be set to the + * corresponding X range of data that lies within that set Y range. */ +void +acre_set_x_axis_range_auto (acre_t *acre); + +/* Get the range of data values in the Y dimnension. */ +void +acre_get_y_axis_data_range (acre_t *acre, double *y_min, double *y_max); + +/* Get the range of the currently viewable Y axis. */ +void +acre_get_y_axis_range (acre_t *acre, double *y_min, double *y_max); + +/* Set the range of the currently viewable Y axis. */ +void +acre_set_y_axis_range (acre_t *acre, double y_min, double y_max); + +/* Set the Y axis viewable range to be sized automatically. + * + * If both X and Y axes are sized automatically, then the Y range will + * be set to the full range of data in the Y dimension. + * + * But if the X axis has been set to a limited viewable range, (with + * acre_set_x_axis_range), then the Y axis will be set to the + * corresponding Y range of data that lies within that set X range. */ +void +acre_set_y_axis_range_auto (acre_t *acre); + /* Add a dataset to the plot. The plot assumes ownership of the * dataset so it is not necessary to call acre_data_destroy on it. */ void @@ -73,4 +119,9 @@ acre_data_set_name (acre_data_t *data, const char *name); void acre_data_add_point_2d (acre_data_t *data, double x, double y); +/* Add a datapoint with a name to the given dataset. */ +void +acre_data_add_point_2d_named (acre_data_t *data, double x, double y, + const char *name); + #endif /* ACRE_H */