#include <libpspp/misc.h>
#include <libpspp/str.h>
#include <math/moments.h>
-#include <output/charts/box-whisker.h>
+#include <output/chart-item.h>
+#include <output/charts/boxplot.h>
#include <output/charts/np-plot.h>
-#include <output/manager.h>
-#include <output/table.h>
+#include <output/tab.h>
#include "minmax.h"
#include "xalloc.h"
#define N_(msgid) msgid
/* (headers) */
-#include <output/chart.h>
#include <output/charts/plot-hist.h>
-#include <output/charts/plot-chart.h>
#include <math/histogram.h>
/* (specification)
struct string label;
const struct factor_result *result =
ll_data (ll, struct factor_result, ll);
- struct chart *npp, *dnpp;
+ struct chart_item *npp, *dnpp;
struct casereader *reader;
struct np *np;
np = result->metrics[v].np;
reader = casewriter_make_reader (np->writer);
npp = np_plot_create (np, reader, ds_cstr (&label));
- dnpp = dnp_plot_create (np, reader, ds_cstr (&label));
+ dnpp = np_plot_create (np, reader, ds_cstr (&label));
ds_destroy (&label);
if (npp == NULL || dnpp == NULL)
{
msg (MW, _("Not creating NP plot because data set is empty."));
- chart_unref (npp);
- chart_unref (dnpp);
+ chart_item_unref (npp);
+ chart_item_unref (dnpp);
}
else
{
- chart_submit (npp);
- chart_submit (dnpp);
+ chart_item_submit (npp);
+ chart_item_submit (dnpp);
}
statistic_destroy (&np->parent.parent);
moments1_calculate (result->metrics[v].moments,
&n, &mean, &var, NULL, NULL);
- chart_submit (histogram_chart_create (histogram, ds_cstr (&str),
- n, mean, sqrt (var), false));
+ chart_item_submit (histogram_chart_create (histogram->gsl_hist,
+ ds_cstr (&str), n, mean,
+ sqrt (var), false));
ds_destroy (&str);
}
ds_destroy (&str);
}
- chart_submit (boxplot_get_chart (boxplot));
+ boxplot_submit (boxplot);
}
}
metrics->box_whisker = NULL;
}
- chart_submit (boxplot_get_chart (boxplot));
+ boxplot_submit (boxplot);
}
}
struct factor_metrics *metric = &result->metrics[v];
int n_vals = caseproto_get_n_widths (casereader_get_proto (
metric->up_reader));
- struct order_stats *os = &metric->box_whisker->parent;
+ struct order_stats *os;
metric->box_whisker =
box_whisker_create ( metric->tukey_hinges, cmd->v_id, n_vals - 1);
+ os = &metric->box_whisker->parent;
order_stats_accumulate ( &os, 1,
casereader_clone (metric->up_reader),
wv, dependent_vars[v], MV_ANY);
n_cols = heading_columns + 6;
- tbl = tab_create (n_cols, n_rows, 0);
+ tbl = tab_create (n_cols, n_rows);
tab_headers (tbl, heading_columns, 0, heading_rows, 0);
- tab_dim (tbl, tab_natural_dimensions, NULL, NULL);
-
/* Outline the box */
tab_box (tbl,
TAL_2, TAL_2,
TAB_LEFT,
n, wfmt);
- tab_text (tbl, heading_columns + 1,
- heading_rows + j + v * ll_count (&fctr->result_list),
- TAB_RIGHT | TAT_PRINTF,
- "%g%%", n * 100.0 / result->metrics[v].n);
+ tab_text_format (tbl, heading_columns + 1,
+ heading_rows + j + v * ll_count (&fctr->result_list),
+ TAB_RIGHT,
+ "%g%%", n * 100.0 / result->metrics[v].n);
/* Total Missing */
tab_double (tbl, heading_columns + 2,
result->metrics[v].n - n,
wfmt);
- tab_text (tbl, heading_columns + 3,
- heading_rows + j + v * ll_count (&fctr->result_list),
- TAB_RIGHT | TAT_PRINTF,
- "%g%%",
- (result->metrics[v].n - n) * 100.0 / result->metrics[v].n
- );
+ tab_text_format (tbl, heading_columns + 3,
+ heading_rows + j + v * ll_count (&fctr->result_list),
+ TAB_RIGHT,
+ "%g%%",
+ (result->metrics[v].n - n) * 100.0 / result->metrics[v].n
+ );
/* Total Valid + Missing */
tab_double (tbl, heading_columns + 4,
result->metrics[v].n,
wfmt);
- tab_text (tbl, heading_columns + 5,
- heading_rows + j + v * ll_count (&fctr->result_list),
- TAB_RIGHT | TAT_PRINTF,
- "%g%%",
- (result->metrics[v].n) * 100.0 / result->metrics[v].n
- );
+ tab_text_format (tbl, heading_columns + 5,
+ heading_rows + j + v * ll_count (&fctr->result_list),
+ TAB_RIGHT,
+ "%g%%",
+ ((result->metrics[v].n) * 100.0
+ / result->metrics[v].n));
++j;
}
n_cols = heading_columns + 2;
- tbl = tab_create (n_cols, n_rows, 0);
+ tbl = tab_create (n_cols, n_rows);
tab_headers (tbl, heading_columns, 0, heading_rows, 0);
- tab_dim (tbl, tab_natural_dimensions, NULL, NULL);
-
/* Outline the box */
tab_box (tbl,
TAL_2, TAL_2,
TAB_LEFT,
_("Mean"));
- tab_text (tbl, n_cols - 4,
- heading_rows + row_var_start + 1 + i * DESCRIPTIVE_ROWS,
- TAB_LEFT | TAT_PRINTF,
- _("%g%% Confidence Interval for Mean"),
- cmd.n_cinterval[0]);
+ tab_text_format (tbl, n_cols - 4,
+ heading_rows + row_var_start + 1 + i * DESCRIPTIVE_ROWS,
+ TAB_LEFT,
+ _("%g%% Confidence Interval for Mean"),
+ cmd.n_cinterval[0]);
tab_text (tbl, n_cols - 3,
heading_rows + row_var_start + 1 + i * DESCRIPTIVE_ROWS,
_("Upper Bound"));
tab_text (tbl, n_cols - 4,
- heading_rows + row_var_start + 3 + i * DESCRIPTIVE_ROWS,
- TAB_LEFT | TAT_PRINTF,
- _("5%% Trimmed Mean"));
+ heading_rows + row_var_start + 3 + i * DESCRIPTIVE_ROWS,
+ TAB_LEFT, _("5% Trimmed Mean"));
tab_text (tbl, n_cols - 4,
heading_rows + row_var_start + 4 + i * DESCRIPTIVE_ROWS,
n_cols = heading_columns + 2;
- tbl = tab_create (n_cols, n_rows, 0);
+ tbl = tab_create (n_cols, n_rows);
tab_headers (tbl, heading_columns, 0, heading_rows, 0);
- tab_dim (tbl, tab_natural_dimensions, NULL, NULL);
-
/* Outline the box */
tab_box (tbl,
TAL_2, TAL_2,
for ( e = 1; e <= cmd.st_n; ++e )
{
- tab_text (tbl, n_cols - 3,
- heading_rows + row_var_start + row_result_start + e - 1,
- TAB_RIGHT | TAT_PRINTF,
- _("%d"), e);
-
- tab_text (tbl, n_cols - 3,
- heading_rows + row_var_start + row_result_start + cmd.st_n + e - 1,
- TAB_RIGHT | TAT_PRINTF,
- _("%d"), e);
+ tab_text_format (tbl, n_cols - 3,
+ heading_rows + row_var_start + row_result_start + e - 1,
+ TAB_RIGHT,
+ "%d", e);
+
+ tab_text_format (tbl, n_cols - 3,
+ heading_rows + row_var_start + row_result_start + cmd.st_n + e - 1,
+ TAB_RIGHT,
+ "%d", e);
}
min_ll = ll_next (min_ll);
}
-
max_ll = ll_head (extrema_list (result->metrics[v].maxima));
for (e = 0; e < cmd.st_n;)
{
n_cols = heading_columns + n_percentiles;
- tbl = tab_create (n_cols, n_rows, 0);
+ tbl = tab_create (n_cols, n_rows);
tab_headers (tbl, heading_columns, 0, heading_rows, 0);
- tab_dim (tbl, tab_natural_dimensions, NULL, NULL);
-
/* Outline the box */
tab_box (tbl,
TAL_2, TAL_2,
for (i = 0 ; i < n_percentiles; ++i )
{
- tab_text (tbl, n_cols - n_percentiles + i, 1,
- TAB_CENTER | TAT_TITLE | TAT_PRINTF,
- _("%g"),
- subc_list_double_at (&percentile_list, i)
- );
+ tab_text_format (tbl, n_cols - n_percentiles + i, 1,
+ TAB_CENTER | TAT_TITLE,
+ _("%g"),
+ subc_list_double_at (&percentile_list, i));
}