X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fbox-whisker.c;h=57930c86e9e3d739baa9273ee994d63fe77b579f;hb=304c185799902df1dd96a8ff2d13d279005a82e5;hp=2600e8aa6c6d5b02b17155a5ada939683f3b3a20;hpb=46cc6dd316280579f5b03dfd39d01bc7daf88df7;p=pspp diff --git a/src/box-whisker.c b/src/box-whisker.c index 2600e8aa6c..57930c86e9 100644 --- a/src/box-whisker.c +++ b/src/box-whisker.c @@ -20,6 +20,7 @@ #include "chart.h" #include +#include #include "misc.h" #include "factor_stats.h" @@ -74,16 +75,13 @@ boxplot_draw_boxplot(struct chart *ch, double box_centre, double box_width, struct metrics *m, - /* - const double hinge[3], - struct weighted_value **wvp, - int n_data, - */ const char *name) { double whisker[2]; int i; + assert(m); + const double *hinge = m->hinge; struct weighted_value **wvp = m->wvp; @@ -104,6 +102,10 @@ boxplot_draw_boxplot(struct chart *ch, const double box_top = ch->data_bottom + ( hinge[2] - ch->y_min ) * ch->ordinate_scale; + /* Can't really draw a boxplot if there's no data */ + if ( n_data == 0 ) + return ; + whisker[1] = hinge[2]; whisker[0] = wvp[0]->v.f; @@ -210,6 +212,9 @@ boxplot_draw_yscale(struct chart *ch , double y_max, double y_min) double y_tick; double d; + if ( !ch ) + return ; + ch->y_max = y_max; ch->y_min = y_min;