projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
pspp-output: Add new --nth-commands option.
[pspp]
/
src
/
output
/
charts
/
scatterplot.c
diff --git
a/src/output/charts/scatterplot.c
b/src/output/charts/scatterplot.c
index 920bc17367a8e5a2741b46c026f74da4a4acc4c7..69b53b6751a04c1ed3ed6fdec5f9916129abf7af 100644
(file)
--- a/
src/output/charts/scatterplot.c
+++ b/
src/output/charts/scatterplot.c
@@
-1,5
+1,5
@@
/* PSPP - a program for statistical analysis.
/* PSPP - a program for statistical analysis.
- Copyright (C) 2014 Free Software Foundation, Inc.
+ Copyright (C) 2014
, 2015
Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@
-21,19
+21,17
@@
#include <gsl/gsl_cdf.h>
#include "data/casereader.h"
#include <gsl/gsl_cdf.h>
#include "data/casereader.h"
+#include "data/variable.h"
#include "libpspp/cast.h"
#include "output/chart-item-provider.h"
#include "gl/minmax.h"
#include "libpspp/cast.h"
#include "output/chart-item-provider.h"
#include "gl/minmax.h"
-
-/* Creates a scatterplot
-
- The caller retains ownership of READER. */
+/* Creates a scatterplot */
struct scatterplot_chart *
struct scatterplot_chart *
-scatterplot_create (
const struct casereader *reader,
- const
struct variable *xvar,
- const
struct variable *yvar
,
+scatterplot_create (
struct casereader *reader,
+ const
char *xlabel,
+ const
char *ylabel
,
const struct variable *byvar,
bool *byvar_overflow,
const char *label,
const struct variable *byvar,
bool *byvar_overflow,
const char *label,
@@
-43,7
+41,7
@@
scatterplot_create (const struct casereader *reader,
spc = xzalloc (sizeof *spc);
chart_item_init (&spc->chart_item, &scatterplot_chart_class, label);
spc = xzalloc (sizeof *spc);
chart_item_init (&spc->chart_item, &scatterplot_chart_class, label);
- spc->data =
casereader_clone (reader)
;
+ spc->data =
reader
;
spc->y_min = ymin;
spc->y_max = ymax;
spc->y_min = ymin;
spc->y_max = ymax;
@@
-51,9
+49,10
@@
scatterplot_create (const struct casereader *reader,
spc->x_min = xmin;
spc->x_max = xmax;
spc->x_min = xmin;
spc->x_max = xmax;
- spc->xvar = xvar;
- spc->yvar = yvar;
- spc->byvar = byvar;
+ spc->xlabel = xstrdup (xlabel);
+ spc->ylabel = xstrdup (ylabel);
+ spc->byvar = byvar != NULL ? var_clone (byvar) : NULL;
+
spc->byvar_overflow = byvar_overflow;
return spc;
spc->byvar_overflow = byvar_overflow;
return spc;
@@
-64,6
+63,10
@@
scatterplot_chart_destroy (struct chart_item *chart_item)
{
struct scatterplot_chart *spc = to_scatterplot_chart (chart_item);
casereader_destroy (spc->data);
{
struct scatterplot_chart *spc = to_scatterplot_chart (chart_item);
casereader_destroy (spc->data);
+ free (spc->xlabel);
+ free (spc->ylabel);
+ if (spc->byvar)
+ var_unref (spc->byvar);
free (spc);
}
free (spc);
}