X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Foutput%2Fcharts%2Fboxplot-cairo.c;h=8448b2d6c411d41431a91a99cf561700071d2a01;hb=29917c4f5908454803e663d2ad78bca4bc35e805;hp=516fe6423e4e5f240db8d47f641da358c5964c38;hpb=c7a0edf69b4cab48148c696f4fd011c90be22173;p=pspp diff --git a/src/output/charts/boxplot-cairo.c b/src/output/charts/boxplot-cairo.c index 516fe6423e..8448b2d6c4 100644 --- a/src/output/charts/boxplot-cairo.c +++ b/src/output/charts/boxplot-cairo.c @@ -65,9 +65,9 @@ boxplot_draw_box (cairo_t *cr, const struct xrchart_geometry *geom, box_whisker_whiskers (bw, whisker); box_whisker_hinges (bw, hinge); - box_bottom = geom->axis[SCALE_ORDINATE].data_min + (hinge[0] - geom->axis[SCALE_ORDINATE].min ) * geom->axis[SCALE_ORDINATE].scale; + box_bottom = geom->axis[SCALE_ORDINATE].data_min + (hinge[0] - geom->axis[SCALE_ORDINATE].min) * geom->axis[SCALE_ORDINATE].scale; - box_top = geom->axis[SCALE_ORDINATE].data_min + (hinge[2] - geom->axis[SCALE_ORDINATE].min ) * geom->axis[SCALE_ORDINATE].scale; + box_top = geom->axis[SCALE_ORDINATE].data_min + (hinge[2] - geom->axis[SCALE_ORDINATE].min) * geom->axis[SCALE_ORDINATE].scale; bottom_whisker = geom->axis[SCALE_ORDINATE].data_min + (whisker[0] - geom->axis[SCALE_ORDINATE].min) * geom->axis[SCALE_ORDINATE].scale; @@ -107,7 +107,7 @@ boxplot_draw_box (cairo_t *cr, const struct xrchart_geometry *geom, cairo_stroke (cr); /* Draw top whisker */ - if (! isnan (top_whisker) ) + if (! isnan (top_whisker)) { cairo_move_to (cr, box_left, top_whisker); cairo_line_to (cr, box_right, top_whisker); @@ -145,15 +145,17 @@ boxplot_draw_box (cairo_t *cr, const struct xrchart_geometry *geom, } void -xrchart_draw_boxplot (const struct chart_item *chart_item, cairo_t *cr, +xrchart_draw_boxplot (const struct chart *chart, cairo_t *cr, struct xrchart_geometry *geom) { - const struct boxplot *boxplot = to_boxplot (chart_item); + const struct boxplot *boxplot = to_boxplot (chart); double box_width; size_t i; - xrchart_write_yscale (cr, geom, boxplot->y_min, boxplot->y_max); - xrchart_write_title (cr, geom, "%s", chart_item->title); + if (! xrchart_write_yscale (cr, geom, boxplot->y_min, boxplot->y_max)) + return; + + xrchart_write_title (cr, geom, "%s", chart->title); box_width = (geom->axis[SCALE_ABSCISSA].data_max - geom->axis[SCALE_ABSCISSA].data_min) / boxplot->n_boxes / 2.0; for (i = 0; i < boxplot->n_boxes; i++)