X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fstats%2Ffrequencies.q;h=b5ad8c47793eef15064a887023eead28732c8845;hb=7dfbf1beae10727cc07213b2c74a991859f9fcbc;hp=d7754220fa4efe7fc2a4861ef4a806fb9deb29b8;hpb=bb75ec3b2fe601c6b942f5cda283b82925dd745d;p=pspp diff --git a/src/language/stats/frequencies.q b/src/language/stats/frequencies.q index d7754220fa..b5ad8c4779 100644 --- a/src/language/stats/frequencies.q +++ b/src/language/stats/frequencies.q @@ -499,14 +499,17 @@ postcalc (struct frq_proc *frq, const struct dataset *ds) histogram = freq_tab_to_hist (frq, &vf->tab, vf->var); - chart_item_submit (histogram_chart_create ( + if ( histogram) + { + chart_item_submit (histogram_chart_create ( histogram->gsl_hist, var_to_string(vf->var), vf->tab.valid_cases, d[FRQ_MEAN], d[FRQ_STDDEV], frq->hist->draw_normal)); - statistic_destroy (&histogram->parent); + statistic_destroy (&histogram->parent); + } } if (frq->pie) @@ -1139,9 +1142,12 @@ freq_tab_to_hist (const struct frq_proc *frq, const struct freq_tab *ft, /* Freedman-Diaconis' choice of bin width. */ iqr = calculate_iqr (frq); bin_width = 2 * iqr / pow (valid_freq, 1.0 / 3.0); - bin_width = chart_rounded_tick (bin_width); histogram = histogram_create (bin_width, x_min, x_max); + + if ( histogram == NULL) + return NULL; + for (i = 0; i < ft->n_valid; i++) { const struct freq *f = &ft->valid[i];