X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Foutput%2Fcharts%2Froc-chart-cairo.c;h=04e37405f1e36e30ae15023843526e25b16a798c;hb=f7607814fdf3a62b022138960869baaad46b6f4f;hp=2ac494e3cd16f9549be3ca49de1699002e8a8f47;hpb=aad0ae4913ecd01ccc954f8828623ad5da35cd1b;p=pspp diff --git a/src/output/charts/roc-chart-cairo.c b/src/output/charts/roc-chart-cairo.c index 2ac494e3cd..04e37405f1 100644 --- a/src/output/charts/roc-chart-cairo.c +++ b/src/output/charts/roc-chart-cairo.c @@ -27,20 +27,22 @@ #define _(msgid) gettext (msgid) void -xrchart_draw_roc (const struct chart_item *chart_item, cairo_t *cr, +xrchart_draw_roc (const struct chart *chart, cairo_t *cr, struct xrchart_geometry *geom) { - const struct roc_chart *rc = to_roc_chart (chart_item); + const struct roc_chart *rc = to_roc_chart (chart); size_t i; xrchart_write_title (cr, geom, _("ROC Curve")); xrchart_write_xlabel (cr, geom, _("1 - Specificity")); xrchart_write_ylabel (cr, geom, _("Sensitivity")); - xrchart_write_xscale (cr, geom, 0, 1); - xrchart_write_yscale (cr, geom, 0, 1); + if (! xrchart_write_xscale (cr, geom, 0, 1)) + return; + if (! xrchart_write_yscale (cr, geom, 0, 1)) + return; - if ( rc->reference ) + if (rc->reference) { xrchart_line (cr, geom, 1.0, 0, 0.0, 1.0, @@ -56,11 +58,11 @@ xrchart_draw_roc (const struct chart_item *chart_item, cairo_t *cr, xrchart_vector_start (cr, geom, rv->name); for (; (cc = casereader_read (r)) != NULL; case_unref (cc)) { - double se = case_data_idx (cc, ROC_TP)->f; - double sp = case_data_idx (cc, ROC_TN)->f; + double se = case_num_idx (cc, ROC_TP); + double sp = case_num_idx (cc, ROC_TN); - se /= case_data_idx (cc, ROC_FN)->f + case_data_idx (cc, ROC_TP)->f ; - sp /= case_data_idx (cc, ROC_TN)->f + case_data_idx (cc, ROC_FP)->f ; + se /= case_num_idx (cc, ROC_FN) + case_num_idx (cc, ROC_TP); + sp /= case_num_idx (cc, ROC_TN) + case_num_idx (cc, ROC_FP); xrchart_vector (cr, geom, 1 - sp, se); }