vlist -> csv - ploot - simple plotting tools HTML git clone git://bitreich.org/ploot git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/ploot DIR Log DIR Files DIR Refs DIR Tags DIR README DIR LICENSE --- DIR commit 5e3a15dfb77b6b94cba1df9918ce30c6e07d3904 DIR parent a07960fb4acccb2f1cc7d5dab19e3ec4ffc89684 HTML Author: Josuah Demangeon <me@josuah.net> Date: Sat, 22 Feb 2020 17:29:26 +0100 vlist -> csv Diffstat: M ploot-braille.c | 8 +++++--- M ploot-farbfeld.c | 10 +++++----- M src/csv.c | 12 ++++++------ M src/csv.h | 10 +++++----- M src/scale.c | 4 ++-- M src/scale.h | 2 +- 6 files changed, 24 insertions(+), 22 deletions(-) --- DIR diff --git a/ploot-braille.c b/ploot-braille.c @@ -20,7 +20,7 @@ char const *arg0 = NULL; * a vertical and horizontal axis. */ int -braille_histogram(struct vlist *vl, struct drawille *drw, +braille_histogram(struct csv *vl, struct drawille *drw, time_t tmin, time_t tmax, double vmin, double vmax) { int x, xprev, y, yprev, zero; @@ -102,7 +102,7 @@ braille_render(struct drawille *drw, FILE *fp, double vmin, double vmax) } static void -plot(struct vlist *vl, FILE *fp, size_t ncol, int row, int col) +plot(struct csv *vl, FILE *fp, size_t ncol, int row, int col) { size_t len; double vmin, vmax, vstep; @@ -136,7 +136,7 @@ usage(void) int main(int argc, char **argv) { - struct vlist *vl; + struct csv *vl; size_t ncol; int c; @@ -153,7 +153,9 @@ main(int argc, char **argv) if (argc > 0) usage(); + debug("label"); csv_labels(stdin, &vl, &ncol); + debug("values"); csv_values(stdin, vl, ncol); plot(vl, stdout, ncol, 20, 80); DIR diff --git a/ploot-farbfeld.c b/ploot-farbfeld.c @@ -144,7 +144,7 @@ farbfeld_title(struct ffplot *plot, } static void -farbfeld_plot(struct ffplot *plot, struct vlist *vl, struct ffcolor *color, +farbfeld_plot(struct ffplot *plot, struct csv *vl, struct ffcolor *color, double vmin, double vmax, time_t tmin, time_t tmax) { @@ -167,7 +167,7 @@ farbfeld_plot(struct ffplot *plot, struct vlist *vl, struct ffcolor *color, } static void -farbfeld_values(struct ffplot *plot, struct vlist *vl, struct ffcolor **cl, size_t ncol, +farbfeld_values(struct ffplot *plot, struct csv *vl, struct ffcolor **cl, size_t ncol, time_t tmin, time_t tmax, double vmin, double vmax) { @@ -176,7 +176,7 @@ farbfeld_values(struct ffplot *plot, struct vlist *vl, struct ffcolor **cl, size } static void -farbfeld_legend(struct ffplot *plot, struct ffcolor *fg, struct vlist *vl, struct ffcolor **cl, size_t ncol) +farbfeld_legend(struct ffplot *plot, struct ffcolor *fg, struct csv *vl, struct ffcolor **cl, size_t ncol) { size_t x, y; @@ -200,7 +200,7 @@ farbfeld_legend(struct ffplot *plot, struct ffcolor *fg, struct vlist *vl, struc * x label here */ static void -plot(struct vlist *vl, struct ffcolor **cl, size_t ncol, char *name, char *units) +plot(struct csv *vl, struct ffcolor **cl, size_t ncol, char *name, char *units) { struct ffplot plot = { IMAGE_W, IMAGE_H, 0, 0, NULL }; struct ffcolor plot_bg = { 0x2222, 0x2222, 0x2222, 0xffff }; @@ -279,7 +279,7 @@ usage(void) int main(int argc, char **argv) { - struct vlist *vl; + struct csv *vl; struct ffcolor **cl; size_t ncol; int c; DIR diff --git a/src/csv.c b/src/csv.c @@ -9,18 +9,18 @@ #include "tool.h" /* - * Read CSV data onto a set of (struct vlist). + * Read CSV data onto a set of (struct csv). */ static void -csv_addtime(struct vlist *vl, time_t epoch) +csv_addtime(struct csv *vl, time_t epoch) { assert(vl->t = realloc(vl->t, (vl->n + 1) * sizeof(*vl->t))); vl->t[vl->n] = epoch; } static void -csv_addval(struct vlist *vl, double field) +csv_addval(struct csv *vl, double field) { assert(vl->v = realloc(vl->v, (vl->n + 1) * sizeof(*vl->v))); vl->v[vl->n] = field; @@ -31,7 +31,7 @@ csv_addval(struct vlist *vl, double field) * buffer is shared among all fields. */ void -csv_addrow(struct vlist *vl, size_t ncol, char *line) +csv_addrow(struct csv *vl, size_t ncol, char *line) { char *field; time_t *tbuf; @@ -58,7 +58,7 @@ csv_addrow(struct vlist *vl, size_t ncol, char *line) * epoch,label1,label2,label3 */ void -csv_labels(FILE *fp, struct vlist **vl, size_t *ncol) +csv_labels(FILE *fp, struct csv **vl, size_t *ncol) { char *field, *line, *cp, *label; size_t sz; @@ -92,7 +92,7 @@ csv_labels(FILE *fp, struct vlist **vl, size_t *ncol) * epoch,a3,b3,c3 v */ void -csv_values(FILE *fp, struct vlist *vl, size_t ncol) +csv_values(FILE *fp, struct csv *vl, size_t ncol) { char *line; size_t sz; DIR diff --git a/src/csv.h b/src/csv.h @@ -5,9 +5,9 @@ /* * List of values and timestamps. Both have their dedicated buffer - * so that the timestamp buffer can be shared across vlist objects. + * so that the timestamp buffer can be shared across csv objects. */ -struct vlist { +struct csv { time_t *t; /* array of timestamps */ double *v; /* array of values */ size_t n; /* number of values */ @@ -15,8 +15,8 @@ struct vlist { }; /**/ -void csv_addrow (struct vlist *, size_t, char *); -void csv_labels (FILE *, struct vlist **, size_t *); -void csv_values (FILE *, struct vlist *, size_t); +void csv_addrow (struct csv *, size_t, char *); +void csv_labels (FILE *, struct csv **, size_t *); +void csv_values (FILE *, struct csv *, size_t); #endif DIR diff --git a/src/scale.c b/src/scale.c @@ -32,7 +32,7 @@ scale_xpos(time_t t, time_t t1, time_t t2, int szx) } static void -scale_minmax(struct vlist *vl, int ncol, +scale_minmax(struct csv *vl, int ncol, time_t *tmin, time_t *tmax, double *vmin, double *vmax) { @@ -131,7 +131,7 @@ scale_vminmax(double *min, double *max, int row) } void -scale(struct vlist *vl, int ncol, +scale(struct csv *vl, int ncol, time_t *tmin, time_t *tmax, time_t *tstep, double *vmin, double *vmax, double *vstep) { DIR diff --git a/src/scale.h b/src/scale.h @@ -13,6 +13,6 @@ int scale_ypos (double, double, double, int); int scale_xpos (time_t, time_t, time_t, int); void scale_vminmax (double *, double *, int); -void scale (struct vlist *, int, time_t *, time_t *, time_t *, double *, double *, double *); +void scale (struct csv *, int, time_t *, time_t *, time_t *, double *, double *, double *); #endif