/* PSPP - a program for statistical analysis.
- Copyright (C) 2009, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2009, 2011, 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
/* The geometry of a chart. */
struct xrchart_geometry
{
- int abscissa_top;
- int ordinate_right;
+ /* Bottom of the abscissa segment */
+ int abscissa_bottom;
+
+ /* Left of the ordinate segment */
+ int ordinate_left;
int title_bottom;
double width, double length);
void xrchart_geometry_free (cairo_t *, struct xrchart_geometry *);
-#define XRCHART_N_COLOURS 9
+#define XRCHART_N_COLOURS 27
extern const struct xrchart_colour data_colour[];
enum tick_orientation
void xrchart_label (cairo_t *, int horz_justify, int vert_justify,
double font_size, const char *);
+void xrchart_label_rotate (cairo_t *cr, int horz_justify, int vert_justify,
+ double font_size, const char *string, double angle);
+
+
/* Draw a tick mark at position
If label is non zero, then print it at the tick mark
*/
void draw_tick (cairo_t *, const struct xrchart_geometry *,
- enum tick_orientation orientation, double position,
+ enum tick_orientation orientation,
+ bool rotated,
+ double position,
const char *label, ...)
- PRINTF_FORMAT (5, 6);
+ PRINTF_FORMAT (6, 7);
/* Write the title on a chart*/
/* Set the scale for the abscissa */
void xrchart_write_xscale (cairo_t *, struct xrchart_geometry *,
- double min, double max, int ticks);
+ double min, double max);
/* Set the scale for the ordinate */
void xrchart_write_yscale (cairo_t *, struct xrchart_geometry *,
- double smin, double smax, int ticks);
+ double smin, double smax);
void xrchart_write_xlabel (cairo_t *, const struct xrchart_geometry *,
const char *label) ;
struct xrchart_geometry *);
void xrchart_draw_piechart (const struct chart_item *, cairo_t *,
struct xrchart_geometry *);
+void xrchart_draw_barchart (const struct chart_item *, cairo_t *,
+ struct xrchart_geometry *);
void xrchart_draw_histogram (const struct chart_item *, cairo_t *,
struct xrchart_geometry *);
void xrchart_draw_np_plot (const struct chart_item *, cairo_t *,
struct xrchart_geometry *);
void xrchart_draw_spreadlevel (const struct chart_item *, cairo_t *,
struct xrchart_geometry *);
-
+void xrchart_draw_scatterplot (const struct chart_item *, cairo_t *,
+ struct xrchart_geometry *);
#endif /* output/cairo-chart.h */