Previous: grfav Up: ../plot79_g.html Next: grfci
SUBROUTINE GRFAX3 (KXYZ, X,Y,Z, TITLE,NCHAR, SIZE, VMIN,DV,VMAX,
X TICK, MODE)
C$ (3-D Coordinate Axis)
C$ Select an appropriate lettering plane and draw a 3-D axis.
C$ This routine provides a convenient interface to the general
C$ 3-D axis routine, PLTAX3. The axis will be suppressed if
C$ it lies along the view plane normal. The arguments are:
C$
C$ KXYZ...........Axis selection code: 1 = X axis, 2 = Y axis,
C$ 3 = Z axis. Any other value will raise an
C$ error condition and cause immediate return.
C$ (X,Y,Z)........3-D world coordinates of origin of axis.
C$ The coordinate system may be either
C$ right-handed or left-handed.
C$
C$ The remaining variables are exactly those passed to PLTAX,
C$ the descriptions of which follow:
C$
C$ TITLE...Hollerith label for the axis. This is always drawn
C$ centered along the axis in the direction away from
C$ (X,Y). Very long titles will be drawn with smaller
C$ characters in order to fit on one line. Leading
C$ and trailing blanks are automatically ignored for
C$ the purposes of centering.
C$
C$ NCHAR... .GT. 0 - Number of characters in TITLE(*). The
C$ current font will be used.
C$ .LE. 0 - No title to be drawn.
C$
C$ SIZE....Length of the axis in world units. SIZE .LE. 0.0
C$ will be assumed to be bad input and will cause
C$ immediate return.
C$
C$ VMIN....Starting value of variable along axis.
C$
C$ DV......Increment of variable between successive ticks.
C$ Numbering will be placed at each tick, if there is
C$ sufficient space. Otherwise, numbering will be at
C$ intervals of 2, 5, or 10 ticks, or at some power of
C$ ten times one of these. It is the caller's
C$ responsibility to ensure that (VMAX-VMIN)/DV is a
C$ positive integer.
C$
C$ VMAX....Ending value of variable along axis.
C$
C$ TICK.... .GT. 0.0 - Length of tick marks above
C$ (counterclockwise from) the axis.
C$ .EQ. 0.0 - No tick marks to be drawn.
C$ .LT. 0.0 - Length of tick marks below (clockwise
C$ from) the axis.
C$ A usual value will be TICK = 0.015 on the unit
C$ square, but choosing TICK equal to the length of
C$ the perpendicular axes will form a grid.
C$
C$ MODE......Option flags stored in the low-order bits of the
C$ integer value. These are selected by adding one
C$ or more of the following option values, and then
C$ setting the sign of the resulting sum to select
C$ numbering and titling above (+) or below (-) the
C$ axis.
C$
C$ 1 - Number the axis. Even values of MODE
C$ suppress numbering, but still affect the
C$ choice of tick mark spacing.
C$ 2 - Numbering perpendicular (i.e. rotated -90
C$ degrees) to the axis; otherwise it is
C$ parallel to the axis.
C$ 4 - Omit the first number along the axis. This
C$ can be useful to prevent text overlap when
C$ more than one axis is drawn from a point.
C$ 8 - Omit the last number along the axis.
C$ 16 - Omit any zero number along the axis. This
C$ can be useful for drawing axes intersecting
C$ at the origin.
C$
C$ Any value outside the legal range -31..+31 will
C$ raise an error condition. The usual choice for a
C$ numbered left vertical (Y) axis will be MODE =
C$ +3, and for a numbered lower horizontal (X) axis
C$ will be MODE = -1. The usual choice for an
C$ unnumbered right vertical axis will be MODE = +2
C$ or -2, and for an unnumbered upper horizontal
C$ axis will be MODE = 0.
C$
C$ The sizes and positions of number labels, even if
C$ they are not drawn, affect the choice of where
C$ longer tick marks are drawn. In the common case
C$ where the four sides of a graph have axes, but
C$ two are unnumbered, for the unnumbered axes,
C$ simply subtract 1 from the unsigned MODE value
C$ used for the opposite numbered axis.
C$
C$ See subroutine PLTAX for further remarks on axis plotting.
C$
C$ (19-MAR-84)