HPLOT interface for high quality graphics

[HPLOTINT]

HPLOT is a package of Fortran subroutines for producing HBOOK output suitable for graphic devices or in PostScript. It is designed to produce drawings and slides of a quality suitable for presentations at conferences and scientific publications. It does not produce all the numerical information of the HBOOK output routines. It is not restricted by the line printer's poor resolution and unique character sets but it uses the full graphics capabilities of the targeted output device.

HPLOT can access an HBOOK data structure and transform it into drawings using the HIGZ graphics package. Some of the available options are :

  1. Predefined ISO standard paper size (A4, A3, etc.), horizontal or vertical orientation, with suitable margins. Other sizes are also possible.
  2. Combination of several plots on the same page, either by windowing or superimposition, or both, with different symbols to distinguish them.
  3. Titles on the axes and text anywhere on the picture, using various fonts, containing e.g. Greek or special characters.
  4. Three-dimensional surface representation for 2-dimensional histograms (with hidden-line and hidden-surface removal).
  5. Colour (if the hardware allows it), hatching, grey levels,....

    As a simple example of the use of HPLOT let us consider a program similar to the one in Figure [more info]. After opening a file on unit 10 to write the metafile output (Fortran OPEN statement), we book, then fill the Ntuple projections, and finally plot them. The call to HPLINT initialises HPLOT and HPLCAP redirects the metafile output to unit 10. The parameters given to HPLOT instruct the program to output all histograms in the current working directory to the metafile using ``standard'' option, while HPLEND closes the metafile. See the HPLOT user's guide [bib-HIGZHPLOT] for more details. The result of the job and the resulting PostScript file can be compared to the ``lineprinter'' output in Figure [more info].

    
                     Example of a simple HPLOT program
                                      

          PROGRAM HPTEST
          COMMON/PAWC/H(80000)
          DIMENSION X(3)
          CHARACTER*8 CHTAGS(3)
          DATA CHTAGS/'   X   ','   Y   ','   Z   '/
    *.------------------------------------------------------------
          CALL HLIMIT(80000)
    *             Reopen data base
          OPEN(UNIT=10,file='hplot.meta',form='formatted',status='unknown')
          CALL HBOOK1(10,'TEST1',100,-3.,3.,0.)
          CALL HBOOK2(20,'TEST2',30,-3.,3.,30,-3.,3.,250.)
          CALL HBOOKN(30,'N-TUPLE',3,' ',1000,CHTAGS)
    *
          DO 10 I=1,10000
             CALL RANNOR(A,B)
             X(1)=A
             X(2)=B
             X(3)=A*A+B*B
             CALL HFN(30,X)
      10  CONTINUE
    *
          CALL HPROJ1(10,30,0,0,1,999999,1)
          CALL HPROJ2(20,30,0,0,1,999999,1,2)
          CALL HPLINT(0)
          CALL HPLCAP(-10)
          CALL HPLOT(0,' ',' ',0)
          CALL HPLEND
          CALL HINDEX
          END
    

                             Output Generated
                                      

    Version 1.13/05 of HIGZ started
    ...........................................................................................................
    .                                                                                                         .
    .   HBOOK   HBOOK  CERN    VERSION   4.13     HISTOGRAM AND PLOT INDEX                     06/02/92       .
    .                                                                                                         .
    ...........................................................................................................
    
    .                                                                                                         .
    .  NO            TITLE             ID  B/C  ENTRIES DIM   NCHA     LOWER       UPPER       ADDRESS LENGTH .
    .                                                                                                         .
    ...........................................................................................................
    .                                                                                                         .
    .                                                                                                         .
    .   1  TEST1                       10  32    10000  1  X   100  -0.300E+01   0.300E+01       78388    144 .
    .                                                                                                         .
    .                                                                                                         .
    .   2  TEST2                       20   8    10000  2  X    30  -0.300E+01   0.300E+01       78240    298 .
    .                                                      Y    30  -0.300E+01   0.300E+01       77963    268 .
    .                                                                                                         .
    .   3  N-TUPLE                     30               N                                        77914     39 .
    .                                                                                                         .
    .                                                                                                         .
    ...........................................................................................................
     MEMORY UTILISATION
          MAXIMUM TOTAL SIZE OF COMMON /PAWC/            80000
    

         Output generated by HPLOT on printer with graphics capabilities