- return make_np_plot (&dnp_plot_chart_class, np, reader, label);
-}
-
-static void
-np_plot_chart_draw (const struct chart *chart, plPlotter *lp,
- struct chart_geometry *geom)
-{
- const struct np_plot_chart *npp = (struct np_plot_chart *) chart;
- struct casereader *data;
- struct ccase *c;
-
- chart_write_title (lp, geom, _("Normal Q-Q Plot of %s"), npp->label);
- chart_write_xlabel (lp, geom, _("Observed Value"));
- chart_write_ylabel (lp, geom, _("Expected Normal"));
- chart_write_xscale (lp, geom,
- npp->x_lower - npp->slack,
- npp->x_upper + npp->slack, 5);
- chart_write_yscale (lp, geom, npp->y_first, npp->y_last, 5);
-
- data = casereader_clone (npp->data);
- for (; (c = casereader_read (data)) != NULL; case_unref (c))
- chart_datum (lp, geom, 0,
- case_data_idx (c, NP_IDX_Y)->f,
- case_data_idx (c, NP_IDX_NS)->f);
- casereader_destroy (data);
-
- chart_line (lp, geom, npp->slope, npp->intercept,
- npp->y_first, npp->y_last, CHART_DIM_Y);
-}
-
-static void
-dnp_plot_chart_draw (const struct chart *chart, plPlotter *lp,
- struct chart_geometry *geom)
-{
- const struct np_plot_chart *dnpp = (struct np_plot_chart *) chart;
- struct casereader *data;
- struct ccase *c;
-
- chart_write_title (lp, geom, _("Detrended Normal Q-Q Plot of %s"),
- dnpp->label);
- chart_write_xlabel (lp, geom, _("Observed Value"));
- chart_write_ylabel (lp, geom, _("Dev from Normal"));
- chart_write_xscale (lp, geom, dnpp->y_min, dnpp->y_max, 5);
- chart_write_yscale (lp, geom, dnpp->dns_min, dnpp->dns_max, 5);
-
- data = casereader_clone (dnpp->data);
- for (; (c = casereader_read (data)) != NULL; case_unref (c))
- chart_datum (lp, geom, 0, case_data_idx (c, NP_IDX_Y)->f,
- case_data_idx (c, NP_IDX_DNS)->f);
- casereader_destroy (data);
-
- chart_line (lp, geom, 0, 0, dnpp->y_min, dnpp->y_max, CHART_DIM_X);