+------------------------------------------------+
| CALL IGAXIS (X0,X1,Y0,Y1,WMIN,WMAX,NDIV,CHOPT) |
+------------------------------------------------+
Action: This routines allows the user to draw axes on a picture.
Parameter Description:
- X0
- X coordinate of the origin of the axis in world
coordinates space.
- X1
- X coordinate of the end of the axis in world
coordinates space.
- Y0
- Y coordinate of the origin of the axis in world
coordinates space.
- Y1
- Y coordinate of the end of the axis in world
coordinates space.
- WMIN
- Lowest value for the tick mark labels written
on the axis.
- WMAX
- Highest value for the tick mark labels written
on the axis.
- NDIV
- Number of divisions. calculated according to
the following convention:
- NDIV = N1 + 100*N2 + 10000*N3
- where,
- N1
- Number of primary divisions.
- N2
- Number of second order divisions.
- N3
- Number of third order divisions.
Examples:
- NDIV=0
- No tick marks.
- NDIV=2
- produces 2 divisions with one tick mark in
the middle of the axis.
Note that, in case numeric labels are requested, N1 indicates the maximum
number of primary divisions. An appropriate algorithm calculates a number
of primary divisions less or equal to N1, in order to obtain
``reasonable'' labels. Option 'N' in CHOPT forces N1 to be used as the
exact number of primary divisions.
- CHOPT
- Character variable specifying the combinations
of options desired.
General options
- 'G'
- LoGarithmic scale, default is linear.
- 'B'
- Blank axis, i.e. the base line constituting the
axis is not drawn. However tick marks and labels are drawn. Useful when
superimposing two axes.
- 'A'
- An arrow is drawn at the end of the axis
(position WMAX).
- 'N'
- N1 will be used as exact number of divisions.
Orientation of the tick marks on the axis
Tick marks are normally drawn on the positive side of the axis. However,
if the axis is vertical, i.e. if X0=X1, then they are drawn on the
``negative'' side. Their orientation can be selected by CHOPT.
- '+'
- Tick marks are drawn on the positive side of the
axis (default).
- '-'
- Tick marks are drawn on the negative side of the
axis.
Specifying '+-' will draw tick marks on both sides of the axis.
Orientation of tick marks and labels in the working space
Tick marks are normally drawn orthogonal to the axis. However, in case of
an oblique axis, they can be drawn vertically.
- 'V'
- Tick marks are drawn Vertically (default is
perpendicular to axis).
Labeling an axis
An axis is normally labeled, unless specified otherwise:
- 'U'
- Unlabeled axis (default is labeled).
Position of labels on an axis
Labels are normally drawn on the side opposite to the tick marks, unless
specified otherwise:
- '='
- Labels are drawn on the same side as the tick
marks.
Orientation of labels on an axis.
Labels are normally drawn parallel to the axis.
However if the axis is vertical, i.e. if X0=X1, then the labels are drawn
orthogonally. If the axis is horizontal, i.e. if Y0=Y1, then the labels
are Parallel to the axis:
- 'P'
- Labels are drawn Parallel to the axis
- 'O'
- Labels are drawn Orthogonal to the axis.
Position of labels with respect to the tick marks.
Labels are centered on tick marks. However, if the axis is vertical
(X0=X1), then they are right adjusted.
- 'R'
- Labels are Right adjusted on a tick mark.
- 'L'
- Labels are Left adjusted on a tick mark.
- 'C'
- Labels are centered on tick a mark. (default)
Direction of labels
The default writing direction of labels is from left to right.
- 'Y'
- Writing direction is downwards.
Format of labels
Training blanks in the label strings are stripped, and then the label is
correctly aligned. If the last character of the string is a dot '.', it is
also stripped by default.
- '.'
- The dot at the end of a string is mandatory.
Type of labels
Labels are by default numeric.
- 'T'
- The labels are alphanumeric text strings. In
this case 12 default values are provided, namely the 3-character
abbreviations of the names of the months: 'JAN', 'FEB', 'MAR',.... These
values can be modified by calling the routine IGLBL (see section
[more info]).
Optional grid
An optional grid (cross-wires) can be drawn as a prolongation of the
primary tick marks.
- 'W'
- Draw cross-wires at the position of the primary
tick marks. The length of the grid can be defined, in world coordinates,
with the IGSET parameter AWLN. The current line type is used to draw the
grid.
Intrinsic parameters
The default values for HIGZ intrinsic parameter settings are shown below
expressed as a percentage of the length of the axis (world coordinates):
- Primary tick marks:
- 3.0 %
- Secondary tick marks:
- 1.5 %
- Third order tick marks:
- .75 %
- Length of the arrow:
- 3.0 %
- Width of the arrow:
- .75 %
- Characters height for labels:
- 2.0 %
- Characters spacing:
- 40% of the character height
- Labels offset:
- 4.0 %
The size of the secondary tick marks is always 50% of the primary ones.
The size of the third order tick marks is always 50% of the secondary
ones.
These values can be changed by calls to routine IGSET. The default value
is used unless the corresponding option is selected by CHOPT:
- 'D'
- The distance between the labels and the axis
(the offset) is given by the preceding call to IGSET with the parameter
LAOF.
- 'H'
- The size (height) of the labels is given by the
preceding call to IGSET with the parameter LASI.
- 'S'
- The size of the tick marks is given by the
preceding call to IGSET with the parameter TMSI.
Control of Alphanumeric labels
+------------------------+
|CALL IGLBL (NLBL,CHLBL) |
+------------------------+
Action: This routine must be called to alter the values of the
alphanumeric labels used in IGAXIS.
Parameter Description:
- NLBL
- Number of alphanumeric labels specified in
array CHLBL. The number of labels is limited to 50.
- CHLBL
- CHARACTER array containing the new values for
the alphanumeric labels. The maximal length of each label is 32
characters.
Example of AXIS drawing (see result on figure
[more info])
program axis
call start('axis',12.,12.)
call igbox(0.,12.,0.,12.)
call igaxis (1.,11.,1.,1.,0.,100.,510,'A')
call igaxis (1.,11.,3.,3.,1.,10000.,510,'G')
call igaxis (1.,11.,5.,5.,0.,12.,11,'NATY')
call igaxis (1.,11.,6.,6.,-100.,0.,510,'A')
call igaxis (11.,1.,7.,7.,-100.,0.,810,'A+-')
call igaxis (1.,11.,8.,11.,0.,1234567.,615,'A')
call igaxis (6.,11.,8.5,8.5,-3.14,0.,50505,'AN')
call finish
end

Figure: Examples of IGAXIS
[AXIS]