HHSTP
Prints a horizontal histogram.
Required Arguments
FRQ —Vector of length NBAR containing the frequencies or counts. (Input)
Elements of FRQ must be nonnegative.
IBEG — Indicates the beginning setting of the plot. (Input)
If IBEG = 0, HHSTP skips to a new page before printing the first line. If IBEG ≠ 0, HHSTP skips two spaces and begins printing on the same page.
TITLE — CHARACTER string containing the title of the histogram. (Input)
Optional Arguments
NBAR — Number of bars. (Input)
NBAR must be positive.
Default: NBAR = size (FRQ,1).
ISPACE — Indicates spaces between horizontal histogram lines. (Input)
ISPACE = 0, 1, or 2 is allowed.
Default: ISPACE = 1.
LENGTH — Indicates the upper limit of the number of lines to print within the histogram per page. (Input)
After that number of lines is printed, the routine skips to a new page to continue printing. If LENGTH = 0; then the maximum number of lines coincides with the standard printer page, which is 60.
Default: LENGTH = 0.
IREP — Determines the repeating appearance for the class line (top) and frequency line (bottom) when multiple pages are required. (Input)
If IREP = 0, the class line and the frequency line are printed on the first and last page of the histogram, respectively. If IREP ≠ 0, both class and frequency line are printed on every page.
Default: IREP = 0.
IOPT — Page width option. (Input)
IOPT = 0 will cause a full (horizontal) page histogram. IOPT = 1 will limit the width to 80 columns.
Default: IOPT = 1.
FORTRAN 90 Interface
Generic: CALL HHSTP (FRQ, IBEG, TITLE [, …])
Specific: The specific interface names are S_HHSTP and D_HHSTP.
FORTRAN 77 Interface
Single: CALL HHSTP (NBAR, FRQ, IBEG, ISPACE, LENGTH, IREP, IOPT, TITLE)
Double: The double precision name is DHHSTP.
Description
The routine HHSTP prints a horizontal histogram on one or more pages. Given a vector containing frequencies or counts, HHSTP determines the maximum count Tmax. Horizontal printing position depends on K defined by
K = 1 + (Tmax – 1)/60 for 72 characters
K = 1 + (Tmax – 1)/120 for 132 characters
If a frequency is greater than K, then a character is printed in the first position. Henceforth, K is increased by K/60 or K/120 for each position, and frequencies are compared to the resulting K.
Comments
Informational Errors
Type |
Code |
Description |
3 |
3 |
ISPACE is not 0, 1, or 2. The zero option is used for ISPACE. |
3 |
6 |
IOPT is not 0 or 1. The zero option is used for IOPT. |
3 |
7 |
TITLE is too long and is truncated from the right side. |
Example
Consider the data set in Example 1of the routine OWFRQ (see Chapter 1, "Basic Statistics"). We use the routine OWFRQ to create a one‑way frequency table. A horizontal histogram is then generated using HHSTP. The user may find a vertical histogram for the same data set in the routine. Note that classes are listed from left to right in VHSTP.
USE UMACH_INT
USE OWFRQ_INT
USE HHSTP_INT
IMPLICIT NONE
INTEGER NBAR, NOBS
PARAMETER (NBAR=10, NOBS=30)
!
INTEGER IBEG, IOPT, NOUT
REAL CLHW, DIV(NBAR), TABLE(NBAR), X(NOBS), XHI, XLO
!
DATA X/0.77, 1.74, 0.81, 1.20, 1.95, 1.20, 0.47, 1.43, 3.37, &
2.20, 3.00, 3.09, 1.51, 2.10, 0.52, 1.62, 1.31, 0.32, 0.59, &
0.81, 2.81, 1.87, 1.18, 1.35, 4.75, 2.48, 0.96, 1.89, 0.90, &
2.05/
! Get output unit number
CALL UMACH (2, NOUT)
! Create a one-way frequency table from
! a given data set with intervals of
! equal length and user-supplied values
! of XLO and XHI
IOPT = 1
XLO = 0.5
XHI = 4.5
CALL OWFRQ (X, NBAR, TABLE, IOPT=IOPT, XLO=XLO, XHI=XHI, DIV=DIV)
WRITE (NOUT,99999) DIV, TABLE
99999 FORMAT (' Midpoints: ', 10F6.2, /, ' Counts: ', 10F6.0)
! Create the horizontal histogram
IBEG = 1
IOPT = 0
CALL HHSTP (TABLE, IBEG, 'Histogram', IOPT=IOPT)
END
Output
Midpoints: .25 .75 1.25 1.75 2.25 2.75 3.25 3.75 4.25 4.75
Counts: 2. 7. 6. 6. 4. 2. 2. 0. 0. 1.
Histogram
Class -----------
10 *I *
* *
9 * *
* *
8 * *
* *
7 *II *
* *
6 *II *
* *
5 *IIII *
* *
4 *IIIIII *
* *
3 *IIIIII *
* *
2 *IIIIIII *
* *
1 *II *
-----------------
Frequency 5
One frequency unit is equal to 1 count unit(s).