X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fchart.h;h=6915358d8a60e225823e036066bcb2ab1b31a9b6;hb=05e356b2a3087e819ef3b5388e29c822f41502e1;hp=d22c394fdb21a0a21864fcaa26c5c24b5ec5d079;hpb=5501903810bcbae487b12bc44d9cbedf29644d96;p=pspp diff --git a/src/chart.h b/src/chart.h index d22c394fdb..6915358d8a 100644 --- a/src/chart.h +++ b/src/chart.h @@ -21,12 +21,15 @@ #ifndef CHART_H #define CHART_H +#include #include -#include #include - #include "var.h" +#ifndef NO_CHARTS +#include +#endif + /* Array of standard colour names */ extern const char *data_colour[]; @@ -34,8 +37,13 @@ extern const char *data_colour[]; struct chart { +#ifndef NO_CHARTS plPlotter *lp ; plPlotterParams *pl_params; +#else + void *lp; +#endif + char *filename; /* The geometry of the chart See diagram at the foot of this file. @@ -61,7 +69,7 @@ struct chart { char fill_colour[10]; - /* Stuff Particular to Cartesians */ + /* Stuff Particular to Cartesians (and Boxplots ) */ double ordinate_scale; double abscissa_scale; double x_min; @@ -72,11 +80,10 @@ struct chart { }; -int chart_initialise(struct chart *ch); - -void chart_finalise(struct chart *ch); - +struct chart * chart_create(void); +void chart_submit(struct chart *ch); +double chart_rounded_tick(double tick); void chart_write_xlabel(struct chart *ch, const char *label); void chart_write_ylabel(struct chart *ch, const char *label); @@ -118,10 +125,19 @@ struct normal_curve void histogram_write_legend(struct chart *ch, const struct normal_curve *norm); +/* Plot a gsl_histogram */ void histogram_plot(const gsl_histogram *hist, const char *factorname, const struct normal_curve *norm, short show_normal); +/* Create a gsl_histogram and set it's parameters based upon + x_min, x_max and bins. + The caller is responsible for freeing the histogram. +*/ +gsl_histogram * histogram_create(double bins, double x_min, double x_max) ; + + + struct slice { @@ -156,6 +172,17 @@ void chart_write_yscale(struct chart *ch, void chart_datum(struct chart *ch, int dataset, double x, double y); +struct metrics; + + +void boxplot_draw_boxplot(struct chart *ch, + double box_centre, + double box_width, + struct metrics *m, + const char *name); + + +void boxplot_draw_yscale(struct chart *ch , double y_max, double y_min); enum CHART_DIM