AtXYLinePlot(3X)

NAME
AtXYLinePlot -- XY Line Plots

SYNOPSIS
#include <X11/At/XYLinePlot.h>
/* The line types */
typedef enum {
	AtPlotLINES, AtPlotPOINTS, AtPlotIMPULSES, AtPlotSTEPS,
	AtPlotLINEPOINTS, AtPlotLINEIMPULSES, AtPlotBARS
} AtPlotLineType;
/* The line styles */
typedef enum {
	AtLineSOLID, AtLineDOTTED, AtLineDASHED, AtLineDOTDASHED,
	AtLineDOTTED2, AtLineDOTTED3, AtLineDOTTED4, AtLineDOTTED5,
	AtLineDASHED3, AtLineDASHED4, AtLineDASHED5, AtLineDOTDASHED2
} AtPlotLineStyle;
/* The marker types */
typedef enum {
	AtMarkRECTANGLE, AtMarkPLUS, AtMarkXMARK, AtMarkSTAR, AtMarkDIAMOND,
	AtMarkTRIANGLE1, AtMarkTRIANGLE2, AtMarkTRIANGLE3, AtMarkTRIANGLE4
} AtPlotMarkType;

DESCRIPTION
The AtXYLinePlot class allows to plot data lines using 7 different line types, 12 different line styles and 9 different marker types for the data points. Possible line types from data type AtPlotLineType are simple lines, points only, impulses, steps, lines with points lines with impulses, and bars. The possible line styles from type AtPlotLineType are solid, dotted, dashed and dot-dashed. For drawing the data points these can be marked with the marker type from data type AtPlotMarkType. The AtXYLinePlot class uses the facilities of the AtXYPlot superclass to access the data to be plotted, and uses the resources of the AtPlot class to display a single line.

CLASSES
The class pointer is atXYLinePlotWidgetClass, and the class name is AtXYLinePlot. It is a subclass of AtXYPlot, and uses the facilities of AtXYPlot and AtPlot classes.

RESOURCES
The AtXYLinePlot widget inherits all the resources from the AtXYPlot, AtPlot and Object widget classes. It defines the following new resources:
AtXYLinePlot Resources
Name | Class | Type | Default
XtNplotLineStyle | XtCPlotLineStyle | XtRPlotLineStyle | AtLineSOLID
XtNplotLineType | XtCPlotLineType | XtRPlotLineType | AtPlotLINES
XtNplotMarkType | XtCPlotMarkType | XtRPlotMarkType | AtMarkRECTANGLE

XtNplotLineStyle
    Specifies the line style in which the line will be drawn. 12 different line styles from enumerated type AtPlotLineStyle are possible.

XtNplotLineType
    Specifies the line type of the line. 7 different line types from enumerated type AtPlotLineType are possible.

XtNplotMarkStyle
    Specifies the marker type if a line is drawn with its data points. 9 different markers from enumerated type AtPlotMarkType are possible.

PUBLIC ROUTINES
For arrays of simple (X,Y) points the following data types are defined and are to be attached to the plotter with one procedure for each data type:

typedef struct {
	double x;
	double y;
} AtDoublePoint;
typedef struct {
	float x;
	float y;
} AtFloatPoint;
typedef struct {
	int x;
	int y;
} AtIntPoint;
void AtXYLinePlotAttachDoublePoints(spw, ddata, start, num);
void AtXYLinePlotAttachDoublePoints(spw, fdata, start, num);
void AtXYLinePlotAttachDoublePoints(spw, idata, start, num);

	AtXYPlotWidget spw;
	AtDoublePoint *ddata;
	AtFloatPoint *fdata;
	AtIntPoint *idata;

void AtXYLinePlotAttachData(spw, xdata, xtype, xstride, ydata, ytype, ystride, start, num);
void AtXYLinePlotExtendData(spw, num);

	AtSPlotWidget spw;
	XtPointer xdata, ydata;
	AtDataType xtype, ytype;
	Cardinal xstride, ystride, start, num;

The header file <At/XYLinePlot.h> provides these aliases for the AtXYPlot member routines.

USAGE
line = XtCreateWidget(line_name, atXYLinePlotWidgetClass, parent, args, num_args)
	String line_name;
	WidgetClass atXYLinePlotWidgetClass;
	Widget parent;
	ArgList args;
	Cardinal num_args;
The parent widget should be of the AtPlotter widget class, or a fatal error will result.

SEE ALSO
AtPlotter(3X), AtXYPlot(3X), AtPlot(3X)
``Using The AthenaTools Plotter Widget Set''

AUTHORS
Peter Klingebiel, University of Paderborn, using some code from the AtLinePlot class.

COPYRIGHT
Copyright 1992 by University of Paderborn All rights reserved. Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of the firms, institutes or employers of the authors not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. THE AUTHORS AND THEIR FIRMS, INSTITUTES OR EMPLOYERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THE AUTHORS AND THEIR FIRMS, INSTITUTES OR EMPLOYERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.