Plotlib

Class definitions for plot types


/* available colors */

#define BLACK		0
#define WHITE		1
#define RED		2
#define GREEN		3
#define BLUE		4
#define YELLOW		5
#define CYAN		6
#define MAGENTA		7


/* class definition */

class LinePlot: public Plot {
public:
    LinePlot(PlotWindow *window, float x_pts[], float y_pts[],
        unsigned int len, int plot_color);
    LinePlot(PlotWindow *window, double x_pts[], double y_pts[],
        unsigned int len, int plot_color);
    int update(int color, int erase, float *x_pts, float *y_pts,
        unsigned int len, int update_display=1);
    int update(int color, int erase, double *x_pts, double *y_pts,
        unsigned int len, int update_display=1);
    ~LinePlot();
};


class ScatterPlot: public Plot {
public:
    ScatterPlot(PlotWindow *window, float x_pts[], float y_pts[],
        unsigned int len, int plot_color, int point_size, Mark point_mark);
    ScatterPlot(PlotWindow *window, double x_pts[], double y_pts[],
        unsigned int len, int plot_color, int point_size, Mark point_mark);
    int update(int color, int erase, float *x_pts, float *y_pts,
        unsigned int len, int update_display=1);
    int update(int color, int erase, double *x_pts, double *y_pts,
        unsigned int len, int update_display=1);
    ~ScatterPlot();
};


class ImpulsePlot: public Plot {
public:
    ImpulsePlot(PlotWindow *window, float x_pts[], float y_pts[],
        unsigned int len, int plot_color);
    ImpulsePlot(PlotWindow *window, double x_pts[], double y_pts[],
        unsigned int len, int plot_color);
    int update(int color, int erase, float *x_pts, float *y_pts,
        unsigned int len, int update_display=1);
    int update(int color, int erase, double *x_pts, double *y_pts,
        unsigned int len, int update_display=1);
    ~ImpulsePlot();
};


class StaircasePlot: public Plot {
public:
    StaircasePlot(PlotWindow *window, float x_pts[], float y_pts[],
        unsigned int len, int plot_color);
    StaircasePlot(PlotWindow *window, double x_pts[], double y_pts[],
        unsigned int len, int plot_color);
    int update(int color, int erase, float *x_pts, float *y_pts,
        unsigned int len, int update_display=1);
    int update(int color, int erase, double *x_pts, double *y_pts,
        unsigned int len, int update_display=1);
    ~StaircasePlot();
};


class VectorPlot: public Plot {
public:
    VectorPlot(PlotWindow *window, float x_pts[], float y_pts[],
        float z_pts[], float w_pts[], unsigned int len, int plot_color);
    VectorPlot(PlotWindow *window, double x_pts[], double y_pts[],
        double z_pts[], double w_pts[], unsigned int len, int plot_color);
    int update(int color, int erase, float *x_pts, float *y_pts,
        float *z_pts, float *w_pts, unsigned int len, int update_display=1);
    int update(int color, int erase, double *x_pts, double *y_pts,
        double *z_pts, double *w_pts, unsigned int len, int update_display=1);
    ~VectorPlot();
};


class HistogramPlot: public Plot {
public:
    HistogramPlot(PlotWindow *window, float x_pts[], unsigned int len,
        int plot_color, int num_bins);
    HistogramPlot(PlotWindow *window, double x_pts[], unsigned int len,
        int plot_color, int num_bins);
    int update(int color, int erase, float *x_pts, unsigned int len,
        int update_display=1);
    int update(int color, int erase, double *x_pts, unsigned int len,
        int update_display=1);
    ~HistogramPlot();
};