# PGPLOT Module: PGCONS -- contour map of a 2D data array (fast algorithm)

SUBROUTINE PGCONS (A, IDIM, JDIM, I1, I2, J1, J2, C, NC, TR)

INTEGER IDIM, JDIM, I1, I2, J1, J2, NC

REAL A(IDIM,JDIM), C(*), TR(6)

Draw a contour map of an array. The map is truncated if

necessary at the boundaries of the viewport. Each contour line is

drawn with the current line attributes (color index, style, and

width). This routine, unlike PGCONT, does not draw each contour as a

continuous line, but draws the straight line segments composing each

contour in a random order. It is thus not suitable for use on pen

plotters, and it usually gives unsatisfactory results with dashed or

dotted lines. It is, however, faster than PGCONT, especially if

several contour levels are drawn with one call of PGCONS.

**Arguments**

A (input) : data array.

IDIM (input) : first dimension of A.

JDIM (input) : second dimension of A.

I1,I2 (input) : range of first index to be contoured (inclusive).

J1,J2 (input) : range of second index to be contoured (inclusive).

C (input) : array of contour levels (in the same units as the

data in array A); dimension at least NC.

NC (input) : number of contour levels (less than or equal to

dimension of C). The absolute value of this

argument is used (for compatibility with PGCONT,

where the sign of NC is significant).

TR (input) : array defining a transformation between the I,J

grid of the array and the world coordinates. The

world coordinates of the array point A(I,J) are

given by:

X = TR(1) + TR(2)*I + TR(3)*J

Y = TR(4) + TR(5)*I + TR(6)*J

Usually TR(3) and TR(5) are zero - unless the

coordinate transformation involves a rotation

or shear.