Name: CURVE 10 CURVE connects data points with lines or plots them with sym- bols. The call is: CALL CURVE (XRAY, YRAY, N) level 2, 3 or: void curve (const float *xray, const float *yray, int n); XRAY, YRAY are arrays that contain the X- and Y-coordinates. N is the number of data points. Name: ERRBAR 10 The routine ERRBAR plots error bars. The call is: CALL ERRBAR (XRAY, YRAY, E1RAY, E2RAY, N) level 2, 3 or: void errbar (const float *xray, const float *yray, const float *e1ray, const float *e2ray, int n); XRAY, YRAY are arrays that contain the X- and Y-coordinates. For a polar scaling, XRAY must hold the radial values and YRAY the angular values expressed in radians. E1RAY, E2RAY are arrays that contain the errors. Lines will be drawn from YRAY - E1RAY to YRAY + E2RAY. N is the number of data points. Notes: - Horizontal bars will be drawn after CALL BARTYP ('HORI'). - A symbol can be selected with MARKER and the sym- bol size with HSYMBL. Name: FIELD 10 The routine FIELD plots a vector field where the start and end points of the vectors are already calculated. The vectors are displayed as arrows. The call is: CALL FIELD (X1RAY, Y1RAY, X2RAY, Y2RAY, N, IVEC) - level 2, 3 or: void field(const float *x1ray, const float *x1ray, const float *x2ray, const float *y2ray, int n, int ivec); X1RAY, Y1RAY are arrays that contain the X- and Y-coordinates of the start points. X2RAY, Y2RAY are arrays that contain the X- and Y-coordinates of the end points. N is the number of vectors. IVEC is a four digit number that specifies the vector (see VECTOR). Name: VECFLD 10 The routine VECFLD plots a vector field of given vectors and positions.The vectors are displayed as arrows. The call is: CALL VECFLD (XVRAY, YVRAY, XPRAY, YPRAY, N, IVEC) level 2, 3 or: void vecfld (const float *xvray, const float *yvray, const float *xpray, const float *ypray, int n, int ivec); XVRAY, YVRAY are arrays that contain the X- and Y-coordinates of the vectors. XPRAY, YPRAY are arrays that contain the X- and Y-coordinates of the start points. N is the number of vectors. IVEC is an integer that specifies the form of the ar- rows (see VECTOR). Notes: - The length of the arrows is automatically scaled by DISLIN in the routine VECFLD. This behaviour can be changed with the routine VECOPT, that may also modify the appearance of arrows. - The vectors can be scaled with different colours if the routine VECCLR is called before with the parameter -2. If VECFLD and FIELD are called after GRAF, the minimum and maximum of the vector lengths are used for colour scaling. If VECFLD and FIELD are called after GRAF3, the Z-scaling in GRAF3 is used for calculating colours. Name: VECMAT 10 The routine VECMAT plots a vector field on a regular grid. The call is: CALL VECMAT (XVMAT, YVMAT, NX, NY, XPRAY, YPRAY, IVEC) level 2, 3 or: void vecmat (const float *xvmat, const float *yvmat, int nx, int ny, const float *xpray, const float *ypray, int ivec); XVMAT, YVMAT are arrays of the dimension (NX, NY) that contain the X- and Y-coordinates of the vectors. NX, NY define the dimension of XVMAT and YVMAT. XPRAY, YPRAY are arrays of the dimensions NX und NY that define the grid in the X/Y plane. IVEC is an integer that specifies the form of the ar- rows (see VECTOR). Note: See the notes for VECFLD. Name: STREAM 10 The routine STREAM plots streamlines of a vector field on a regular grid. The call is: CALL STREAM (XVMAT, YVMAT, NX, NY, XPRAY, YPRAY, XSRAY, YSRAY, N) level 2, 3 or: void stream (const float *xvmat, const float *yvmat, int nx, int ny, const float *xpray, const float *ypray, const float *xsray, const float *ysray, int n); XVMAT, YVMAT are arrays of the dimension (NX, NY) that contain the X- and Y-coordinates of the vectors. NX, NY define the dimension of XVMAT and YVMAT. XPRAY, YPRAY are arrays of the dimensions NX und NY that define the grid in the X/Y plane. XSRAY, YSRAY are arrays of the dimension N that contain start- ing points of the streamlines. If no starting points are given, evenly-spaced streamlines are automatically plotted by DISLIN. N is the number of statrting points (N >= 0). Notes: - The integration method in STREAM can be changed with the routine STMMOD. By default, a Runge-Kutta 2nd order method is used. - The behaviour of streamlines can be modified with the routines STMOPT and STMVAL. Name: STMPTS 10 The routine STMPTS returns a calculated streamline of a vector field on a regular grid. The call is: CALL STMPTS (XVMAT, YVMAT, NX, NY, XPRAY, YPRAY, X0, Y0, XRAY, YRAY, NMAX, N) level 2, 3 or: void stmpts (const float *xvmat, const float *yvmat, int nx, int ny, const float *xpray, const float *ypray, float x0, float y0, float *xray, float *yray, int nmax, int *n); XVMAT, YVMAT are arrays of the dimension (NX, NY) that contain the X- and Y-coordinates of the vectors. NX, NY define the dimension of XVMAT and YVMAT. XPRAY, YPRAY are arrays of the dimensions NX und NY that define the grid in the X/Y plane. X0, Y0 define the starting point. XRAY, YRAY are arrays of the dimension NMAX that will contain the calculated streamline. NMAX is the dimension of XRAY and YRAY. N is the returned number of points in XRAY and YRAY. Note: See the notes for STREAM. Name: STMTRI 10 The routine STMTRI plots streamlines of a vector field on a triangular grid. The call is: CALL STMTRI (XVRAY, YVRAY, XPRAY, YPRAY, N, I1RAY, I2RAY, I3RAY, NTRI, XSRAY, YSRAY, NRAY) level 2, 3 or: void stmtri (const float *xvray, const float *yvray, const float *xpray, const float *ypray, int n, const int *i1ray, const int *i2ray, const int *i3ray, in ntri, const float *xsray, const float *ysray, int nray); XVRAY, YVRAY are arrays of the dimension N that contain the X- and Y-coordinates of the vectors. XPRAY, YPRAY are arrays of the dimension N that contain the positions of the vectors. N is the number of vectors. I1RAY, I2RAY, is a triangulation of the points in XPRAY and I3RAY YPRAY. NTRI is the number of triangles in I1RAY, I2RAY and I3RAY. XSRAY, YSRAY are arrays of the dimension NRAY that contain starting points of the streamlines. If no starting points are given, evenly-spaced streamlines are automatically plotted by DISLIN. NRAY is the number of starting points (NRAY >= 0). Name: LICPTS 10 The routine LICPTS calculates a Line Integral Convolution (LIC) image of a vector field. The call is: CALL LICPTS (XVMAT, YVMAT, NX, NY, ITMAT, IWMAT, WMAT) level 1, 2, 3 or: void licpts (const float *xvmat, const float *yvmat, int nx, int ny, const int *itmat, int *iwmat, float *xmat); XVMAT, YVMAT are arrays of the dimension (NX, NY) that contain the X- and Y-coordinates of the vectors. NX, NY define the dimension of XVMAT, YVMAT, ITMAT, IWMAT and WMAT. ITMAT is a texture array of the dimension (NX, NY) that is used for the LIC algorithm. A random texture can be calculated with the routine TXTURE. IWMAT is a working array of the dimension (NX, NY). After the call to LICPTS, IWMAT contains the num- ber of hits for image pixels covered by stream- lines. WMAT is an output array of the dimension (NX, NY) that contains the calculated LIC image. WMAT contains floating point numbers between 0 and 255. Notes: - LICPTS uses by default a fast LIC algorithm based on an idea by Detlev Stalling and Hans-Christian Hege. Some parameters of the fast LIC algorithm can be modified with the routines LICMOD, STMOPT and STMVAL. - The calculated LIC image can be plotted for examp- le with the routine CRVMAT. Name: TXTURE 10 The routine TXTURE generates a random texture array that can be passed to the routine LICPTS. The call is: CALL TXTURE (ITMAT, NX, NY) level 1, 2, 3 or: void txture (int *itmat, int nx, int ny); ITMAT is a returned texture array of the dimension (NX, NY). ITMAT contains random numbers in the range 0 to 255. NX, NY define the dimension of ITMAT. Note: DISLIN uses the MINSTD random number generator of S.K. Park and K.W. Miller for calculating random numbers. The returned array is identical for all DISLIN distributions. Name: LEGINI 11 LEGINI initializes a legend. The call is: CALL LEGINI (CBUF, NLIN, NMAXLN) level 1, 2, 3 or: void legini (char *cbuf, int nlin, int nmaxln); CBUF is a character variable used to store the lines of text in the legend. The variable must be declared to have at least NLIN * NMAXLN characters. NLIN is the number of text lines in the legend. NMAXLN is the number of characters in the longest line of text. Name: LEGLIN 11 LEGLIN stores lines of text for the legend. The call is: CALL LEGLIN (CBUF, CSTR, ILIN) level 1, 2, 3 or: void leglin (char *cbuf, char *cstr, int nlin); CBUF is a character variable used to store the lines of text in the legend (see LEGINI). CSTR is a character string that contains a line of text for the legend. ILIN is the number of the legend line between 1 and NLIN. Name: LEGEND 11 LEGEND plots the legend. The call is: CALL LEGEND (CBUF, NCOR) level 2, 3 or: void legend (const char *cbuf, int ncor); CBUF is a character variable used to store the lines of text in the legend (see LEGINI). NCOR indicates the position of the legend: = 1 is the lower left corner of the page. = 2 is the lower right corner of the page. = 3 is the upper right corner of the page. = 4 is the upper left corner of the page. = 5 is the lower left corner of the axis system. = 6 is the lower right corner of the axis system. = 7 is the upper right corner of the axis system. = 8 is the upper left corner of the axis system. Name: LEGTIT 11 LEGTIT sets the legend title. The call is: CALL LEGTIT (CTIT) level 1, 2, 3 or: void legtit (const char *ctit); CTIT is a character string containing the title. Default: CTIT = 'Legende'. Name: LEGPOS 11 LEGPOS defines a global position for the legend. After a call to LEGPOS, the second parameter in LEGEND will be ignored. The call is: CALL LEGPOS (NX, NY) level 1, 2, 3 or: void legpos (int nx, int ny); NX, NY are the plot coordinates of the upper left corner. Name: NXLEGN 11 NXLEGN returns the length of the legend in plot coordinates. The call is: NLX = NXLEGN (CBUF) level 1, 2, 3 or: int nxlegn (const char *cbuf); CBUF see LEGINI Name: NYLEGN 11 NYLEGN returns the height of the legend in plot coordinates. The call is: NLY = NYLEGN (CBUF) level 1, 2, 3 or: int nylegn (const char *cbuf); CBUF see LEGINI Name: MIXLEG 11 The routine MIXLEG enables multiple text lines in legends plot- ted with the routine LEGEND. By default, the character '/' is used as a newline character but can be changed with the routine SETMIX. The call is: CALL MIXLEG level 1, 2, 3 or: void mixleg (); Name: LEGBGD 11 LEGBGD sets the background colour of legends. The call is: CALL LEGBGD (NCLR) level 1, 2, 3 or: void legbgd (int nclr); NCLR is a colour value. If NCLR = -1, the plotting of the background is suppressed. Default: NCLR = -1. Name: LEGPAT 11 The routine LEGPAT stores curve attributes plotted in legends. Normally, this is done automatically by routines such as CURVE and BARS. The call is: CALL LEGPAT (ITYP, ITHK, ISYM, ICLR, IPAT, ILIN) level 1, 2, 3 or: void legpat (int ityp, int ithk, int isym, int iclr, long ipat, int ilin); ITYP is the line style between -1 and 7 (see LINTYP). IF ITYP = -1, no line will be plotted in the le- gend line. ITHK define the thickness of lines (> 0). ISYM is the symbol number between -1 and 21. If ISYM = -1, no symbol will be plotted in the legend line. ICLR is the colour value. If ICLR = -1, the current colour will be used. IPAT is the shading pattern (see SHDPAT). If IPAT = -1, no pattern will be plotted in the legend line. ILIN is the legend line between 1 and NLIN. Notes: - This routine is useful to create legends without calls to CURVE. - LEGPAT must be called after LEGINI. Name: LEGTYP 11 Legend entries can be plotted in vertical or horizontal direc- tion depending on the option in LEGTYP. The routine must be cal- led before LEGINI. The call is: CALL LEGTYP (COPT) level 1, 2, 3 or: void legtyp (const char *copt); COPT is a character string that can have the values 'VERT' and 'HORI'. Default: 'VERT. Name: LEGOPT 11 This routine modifies the appearance of legends. The call is: CALL LEGOPT (XF1, XF2, XF3) level 1, 2, 3 or: void legopt (float xf1, float xf2, float xf3); XF1 is a multiplier for the length of the pattern field. The length is XF2 * NH, where NH is the current character height. If XF2 = 0., the pattern field will be suppressed. XF2 is a multiplier for the distance between legend frames and text. The distance is XF1 * NH * XSPC, where XSPC is the spacing between legend lines (see LINESP). XF3 is a multiplier for the spacing between multiple text lines. The space is XF3 * NH * XSPC. Default: (4.0, 0.5, 1.0). Name: LEGVAL 11 The routine LEGVAL modifies the appearance of legends. The call is: CALL LEGVAL (X, COPT) level 1, 2, 3 or: void legval (float x, const char *copt); COPT is a character string that can have the value 'SYMBOL'. For COPT = 'SYMBOL', the parameter X de- fines the size of symbols used in legends. The size is X * NH, where NH is the current character height. Default: (0.8, 'SYMBOL'). Name: LEGSEL 11 The routine LEGSEL selects legend lines that are plotted by LEGEND. The call is: CALL LEGSEL (IRAY, N) level 1, 2, 3 IRAY is an integer array that contains legend lines between 1 and NLIN, where NLIN is the parameter in LEGINI. N is the number of elements in IRAY. If N = -1, all legend lines are plotted. Default: N = -1 Name: SHDCRV 10 SHDCRV plots a shaded area between two curves. level 2, 3 The call is: CALL SHDCRV (X1RAY, Y1RAY, N1, X2RAY, Y2RAY, N2) or: void shdcrv (const float *x1ray, const float *y1ray, int n1, const float *x2ray, const float *y2ray, int n2); X1RAY, Y1RAY are arrays with the X- and Y-coordinates of the first curve. Values will not changed by SHDCRV. N1 is the number of points in the first curve. X2RAY, Y2RAY are arrays with the X- and Y-coordinates of the second curve. Values will not changed by SHDCRV. N2 is the number of points in the second curve.