Bidimensional matrix drawing

                 +--------------------------------------+
                 | CALL  IGTABL (NX,NY,V,NPAR,PAR,CHOPT) |
                 +--------------------------------------+
                                  
Action: This routine draws a 2D matrix (i.e. table) according to the values of CHOPT and PAR. The PAR input parameter could be specified to change the aspect of the plot (see the description below). The position of the plot on the screen is given by the viewport of the current normalization transformation currently selected (the window is not used and could be anything). Parameter Description:
NX
Number of cells in X.
NY
Number of cells in Y.
V(NX,NY)
Content of the cells.
NPAR
Number of parameters in PAR.
PAR(NPAR)
Array of real parameter. If PAR(i)=0. or NPAR a default value is taken.
CHOPT
CHARACTER variable specifying the options selected. The possible value of CHOPT and the associate values of PAR are describe below. The default value of CHOPT is 'P'.
        Example of MATRIX drawing (see result on figure
                  [more info] to
                          [more info])
                                  
      program matrix
      call start_matrix('lego','LA')

      call start_matrix('lego1','L1A')
      call start_matrix('lego2','L2')
      call start_matrix('surf','SA')
      call start_matrix('surf1','S1A')
      call start_matrix('surf2','S2A')
      call start_matrix('surf3','S3A')
      call start_matrix('surf4','S4A')
      call start_matrix('surfpol','SPOL')
      call start_matrix('surfcyl','SCYL')
      call start_matrix('surfsph','SSPH')
      call start_matrix('surfpsd','SPSD')
      end
      subroutine start_matrix(name,chopt)
      character*(*) name,chopt
      parameter (nx=30,ny=30)
      dimension v(nx,ny)
      dimension par(29)
*
*              Parameters initialisation
*
      call vzero(par,29)
      par(1)=30.
      par(2)=23.
      par(3)=-10.
      par(4)=10.
      par(5)=-10
      par(6)=10.
      par(9)=1030.
      par(10)=1030.
      par(11)=510.
      par(12)=510.
      par(13)=510.
      par(14)=1.
      par(15)=1.
      par(16)=1.
      par(20)=0.05
      par(21)=-61.
      par(22)=.1
      par(23)=.1
      par(24)=.15
      par(25)=2.
      par(26)=5.
      par(27)=7.
      par(28)=6.
      par(29)=3.
*
*              Matrix filling
*
      x=-10.
      y=-10.
      s=20./float(nx)
      do i=1,nx

         do j=1,ny
            if(x.ne.0..and.y.ne.0)then
               v(i,j)=100.*sin(x)/x*sin(y)/y
            else
               v(i,j)=100.
            endif
            x=x+s
         enddo
         y=y+s
         x=-10.
      enddo
*
*              Matrix drawing
*
      call start(NAME,9.,9.)
      call isfais(0)
      call igset('BORD',1.)
      call igset('TXAL',32.)
      call igset('CHHE',0.25)
      call igtabl(nx,ny,v,29,par,chopt)
      call igterm
      call finish
      end

+-+--------------------------------------------------------------------------------------------+-+
+-+-CHOPT-=-'P'+Polymarker-(scatter-plot)-------------------------------------------+----------+-+
+-+-PAR-index--+----------------------------PAR-values------------------------------+-default--+-+
| |     1      | Marker type see  ISMK.                                              |      1.  | |
| |     2      | Maximum number of random points per cell                           |     50.  | |
| |     3      | XMIN Lowest X-axis label                                           |   IXMIN  | |
| |     4      | XMAX Highest Y-axis label                                          |   IXMAX  | |
| |            |                                                                    |          | |
| |     5      | YMIN Lowest Y-axis label                                           |   IYMIN  | |
| |     6      | YMAX Highest Y-axis label                                          |   IYMAX  | |
| |     7      | ZMIN Lowest Z value                                                |    ZMIN  | |
| |     8      | ZMAX Highest Z value                                               |    ZMAX  | |
| |     9      | 1000*IXMIN + IXMAX (Useful for ZOOM)                               |    1-NX  | |
| |    10      | 1000*IYMIN + IYMAX (Useful for ZOOM)                               |    1-NY  | |
+-+------------+--------------------------------------------------------------------+----------+-+

                                                 

Figure: Example of the IGTABL Polymarker option

[SCATTER]


+-+-CHOPT-=-'B'-Boxes--------------------------------------------------------------------------+-+
+-+------------+--------------------------------------------------------------------+----------+-+
+-+-PAR-index--+----------------------------PAR-values------------------------------+-default--+-+
| |     1      | Not used                                                           |          | |
| |     2      | Not used                                                           |          | |
| |     3      | XMIN Lowest X-axis label                                           |   IXMIN  | |
| |     4      | XMAX Highest Y-axis label                                          |   IXMAX  | |
| |     5      | YMIN Lowest Y-axis label                                           |   IYMIN  | |
| |            |                                                                    |          | |
| |     6      | YMAX Highest Y-axis label                                          |   IYMAX  | |
| |     7      | ZMIN Lowest Z value                                                |    ZMIN  | |
| |     8      | ZMAX Highest Z value                                               |    ZMAX  | |
| |     9      | 1000*IXMIN + IXMAX (Useful for ZOOM)                               |    1-NX  | |
| |    10      | 1000*IYMIN + IYMAX (Useful for ZOOM)                               |    1-NY  | |
+-+------------+--------------------------------------------------------------------+----------+-+

                                                 

Figure: Example of the IGTABL Boxes option

[BOXES]


+-+--------------------------------------------------------------------------------------------+-+
+-+-CHOPT-=-'R'+aRrows--------------------------------------------------------------+----------+-+
| | PAR index  |                            PAR values                              | default  | |
+-+------------+--------------------------------------------------------------------+----------+-+
| |     1      | Not used                                                           |          | |
| |     2      | Not used                                                           |          | |
| |     3      | XMIN Lowest X-axis label                                           |   IXMIN  | |
| |     4      | XMAX Highest Y-axis label                                          |   IXMAX  | |
| |     5      | YMIN Lowest Y-axis label                                           |   IYMIN  | |
| |     6      | YMAX Highest Y-axis label                                          |   IYMAX  | |
| |            |                                                                    |          | |
| |     7      | ZMIN Lowest Z value                                                |    ZMIN  | |
| |     8      | ZMAX Highest Z value                                               |    ZMAX  | |
| |     9      | 1000*IXMIN + IXMAX (Useful for ZOOM)                               |    1-NX  | |
+-+----10------+-1000*IYMIN-+-IYMAX-(Useful-for-ZOOM)-------------------------------+----1-NY--+-+

                                                 

Figure: Example of the IGTABL aRrows option

[ARROWS]



+-+-CHOPT-=-'C'-Contour-plot-------------------------------------------------------------------+-+
+-+------------+--------------------------------------------------------------------+----------+-+
+-+-PAR-index--+----------------------------PAR-values------------------------------+-default--+-+
| |     1      | Nlevel (min=2 max=50)                                              |     20.  | |
| |     2      | 0 use colour to distinguish contours. Line type used is 1.         |      0.  | |
| |            | 1.XXX use line style to distinguish contours. Colour index used    |          | |
| |            | is XXX.                                                   |          | |
| |            | 2.XXX line style and colour are the same for all contours.         |          | |
| |            | Colour index used is XXX.                                 |          | |
| |            |                                                                    |          | |
| |     3      | XMIN Lowest X-axis label                                           |   IXMIN  | |
| |     4      | XMAX Highest Y-axis label                                          |   IXMAX  | |
| |     5      | YMIN Lowest Y-axis label                                           |   IYMIN  | |
| |     6      | YMAX Highest Y-axis label                                          |   IYMAX  | |
| |     7      | ZMIN Lowest Z value                                                |    ZMIN  | |
| |     8      | ZMAX Highest Z value                                               |    ZMAX  | |
| |            |                                                                    |          | |
| |     9      | 1000*IXMIN + IXMAX (Useful for ZOOM)                               |    1-NX  | |
+-+----10------+-1000*IYMIN-+-IYMAX-(Useful-for-ZOOM)-------------------------------+----1-NY--+-+
                                                 

Figure: Example of the IGTABL Contour option

[CONTOUR]


+-+--------------------------------------------------------------------------------------------+-+
+-+-CHOPT-=-'COL'-COLour-plot-------------------------------------------------------+----------+-+
+-+-PAR-index--+----------------------------PAR-values------------------------------+-default--+-+
| |     1      | 0 use the standard 8 colours                                       |      0.  | |
| |     2      | ...                                                                |          | |
| |     3      | XMIN Lowest X-axis label                                           |   IXMIN  | |
| |     4      | XMAX Highest Y-axis label                                          |   IXMAX  | |
| |            |                                                                    |          | |
| |     5      | YMIN Lowest Y-axis label                                           |   IYMIN  | |
| |     6      | YMAX Highest Y-axis label                                          |   IYMAX  | |
| |     7      | ZMIN Lowest Z value                                                |    ZMIN  | |
| |     8      | ZMAX Highest Z value                                               |    ZMAX  | |
| |     9      | 1000*IXMIN + IXMAX (Useful for ZOOM)                               |    1-NX  | |
| |    10      | 1000*IYMIN + IYMAX (Useful for ZOOM)                               |    1-NY  | |
+-+------------+--------------------------------------------------------------------+----------+-+
                                                 

Figure: Example of the IGTABL COLour option

[COLOUR]


+-+--------------------------------------------------------------------------------------------+-+
+-+-CHOPT-=-'T'+Text----------------------------------------------------------------+----------+-+
+-+-PAR-index--+----------------------------PAR-values------------------------------+-default--+-+
| |     1      | Text font                                                          |      1.  | |
| |     2      | Text Precision                                                     |      0.  | |
| |     3      | XMIN Lowest X-axis label                                           |   IXMIN  | |
| |     4      | XMAX Highest Y-axis label                                          |   IXMAX  | |
| |            |                                                                    |          | |
| |     5      | YMIN Lowest Y-axis label                                           |   IYMIN  | |
| |     6      | YMAX Highest Y-axis label                                          |   IYMAX  | |
| |     7      | ZMIN Lowest Z value                                                |    ZMIN  | |
| |     8      | ZMAX Highest Z value                                               |    ZMAX  | |
| |     9      | 1000*IXMIN + IXMAX (Useful for ZOOM)                               |    1-NX  | |
| |    10      | 1000*IYMIN + IYMAX (Useful for ZOOM)                               |    1-NY  | |
+-+------------+--------------------------------------------------------------------+----------+-+
                                                 

Figure: Example of the IGTABL Text option

[TABT]


+-+--------------------------------------------------------------------------------------------+-+
+-+-CHOPT-=-'K'+character-----------------------------------------------------------+----------+-+
+-+-PAR-index--+----------------------------PAR-values------------------------------+-default--+-+
| |     1      | Text font                                                          |      1.  | |
| |     2      | Text Precision                                                     |      0.  | |
| |     3      | XMIN Lowest X-axis label                                           |   IXMIN  | |
| |     4      | XMAX Highest Y-axis label                                          |   IXMAX  | |
| |            |                                                                    |          | |
| |     5      | YMIN Lowest Y-axis label                                           |   IYMIN  | |
| |     6      | YMAX Highest Y-axis label                                          |   IYMAX  | |
| |     7      | ZMIN Lowest Z value                                                |    ZMIN  | |
| |     8      | ZMAX Highest Z value                                               |    ZMAX  | |
| |     9      | 1000*IXMIN + IXMAX (Useful for ZOOM)                               |    1-NX  | |
| |    10      | 1000*IYMIN + IYMAX (Useful for ZOOM)                               |    1-NY  | |
+-+------------+--------------------------------------------------------------------+----------+-+
                                                 

Figure: Example of the IGTABL character K option

[TABK]



+-+-CHOPT-=-'L'-Lego-(mode-0)------------------------------------------------------------------+-+
| |                                                                                            | |
| | CHOPT = 'LB' Lego with BARO and BARW                                                       | |
| | CHOPT = 'L1' Lego with colours (mode 1)                                                    | |
+-+-CHOPT-=-'L2'-Lego-with-colours-(mode-2)----------------------------------------------------+-+
| | CHOPT = 'S' Surface (mode 0)                                                               | |
| | CHOPT = 'S1' Surface with colours (mode 1)                                                 | |
| | CHOPT = 'S2' Surface with colours (mode 2)                                                 | |
| |                                                                                            | |
| | CHOPT = 'S3' Surface with contour plot on top (mode 3)                                     | |
+-+-CHOPT-=-'S4'-Surface-with-Gouraud-shading-(mode-4)-----------------------------------------+-+
| | CHOPT = 'CYL' Cylindrical for lego and surface                                             | |
| | CHOPT = 'SPH' Spherical for lego and surface                                               | |
| | CHOPT = 'PSD' Pseudo rapidity for lego and surface                                         | |
+-+-PAR-index--+----------------------------PAR-values------------------------------+-default--+-+
+-+------------+--------------------------------------------------------------------+----------+-+
| |     1      | THETA                                                              |     30.  | |
| |     2      | PHI                                                                |     30.  | |
| |     3      | XMIN Lowest X-axis label                                           |   IXMIN  | |
| |     4      | XMAX Highest Y-axis label                                          |   IXMAX  | |
| |     5      | YMIN Lowest Y-axis label                                           |   IYMIN  | |
| |     6      | YMAX Highest Y-axis label                                          |   IYMAX  | |
| |            |                                                                    |          | |
| |     7      | ZMIN Lowest Z value                                                |    ZMIN  | |
| |     8      | ZMAX Highest Z value                                               |    ZMAX  | |
| |     9      | 1000*IXMIN + IXMAX (Useful for ZOOM)                               |    1-NX  | |
| |    10      | 1000*IYMIN + IYMAX (Useful for ZOOM)                               |    1-NY  | |
| |    11      | NDVX                                                               |  510.00  | |
| |    12      | NDVY                                                               |  510.00  | |
| |            |                                                                    |          | |
| |    13      | NDVZ                                                               |  510.00  | |
| |    14      | XCOL                                                               |    1.00  | |
| |    15      | YCOL                                                               |    1.00  | |
| |    16      | ZCOL                                                               |    1.00  | |
| |    17      | XTIC                                                               |    0.02  | |
| |    18      | YTIC                                                               |    0.02  | |
| |            |                                                                    |          | |
| |    19      | ZTIC                                                               |    0.02  | |
| |    20      | VSIZ                                                               |    0.02  | |
| |    21      | VFON                                                               |    2.00  | |
| |    22      | XVAL                                                               |    0.02  | |
| |    23      | YVAL                                                               |    0.02  | |
| |    24      | ZVAL                                                               |    0.04  | |
| |            |                                                                    |          | |
+-+----25------+-Palette------------------------------------------------------------+----0.04--+-+

Table: Values of the IGTABL Lego and Surface option

[tab-IGTABLS]


                                                         

Figure: Example of the IGTABL Lego option

[LEGO]

Figure: Example of the IGTABL Lego L1 option

[LEGO1]



                                                         

Figure: Example of the IGTABL Lego L2 option

[LEGO2]

Figure: Example of the IGTABL Surface option

[SURF]



                                                         

Figure: Example of the IGTABL Surface S1 option

[SURF1]

Figure: Example of the IGTABL Surface S2 option

[SURF2]



                                                         

Figure: Example of the IGTABL Surface S3 option

[SURF3]

Figure: Example of the IGTABL Surface S4 option

[SURF4]



                                                         

Figure: Example of the IGTABL Surface SPOL option

[SPOL]

Figure: Example of the IGTABL Surface SCYL option

[SCYL]



                                                         

Figure: Example of the IGTABL Surface SSPH option

[SSPH]

Figure: Example of the IGTABL Surface SPSD option

[SPSD]

Note that the options POL, CYL, SPH, and PSD can be used together with any lego or surface options.

+-+-----------------+--------------------------------------------------+-##
+-+-CHOPT--+-Description--------------------------------------+-##
+-+------'H'--------+-Data-are-compacted-as-in-HPLOT.------------------+-##
| |      'GX'       | loG on X coordinates. A log world                | ##
+-+-----------------+-coordinates-must-be-defined-before.--------------+-##
| |      'GY'       | loG on Y coordinates. A log world                | ##
+-+-----------------+-coordinates-must-be-defined-before.--------------+-##
| |      'GZ'       | loG on Z coordinates.                            | ##
+-+------'A'--------+-2nd-vertical-axis-(legos-and-Surfaces-only)------+-##
| |                 |                                                  | ##
+-+-----------------+-axis-(for-the-2D-representations).---------------+-##
+-+------'+'--------+-For-stacked-histograms-(legos).------------------+-##
+-+------'Z'--------+-Allows-to-display-the-Z-scale.-------------------+-##

Table: Other options for IGTABL

[tab-IGTABL]

    Example of stacked lego plots drawing (see result on figure
                          [more info])
                                  
      program stack
      parameter (nx=10,ny=10)
      parameter (npar=25)
      dimension v1(nx,ny),v2(nx,ny),v3(nx,ny)
      dimension par(npar)
      call vzero(par,npar)
      par(1)  = 30.
      par(2)  = 23.
      par(3)  = -10.
      par(4)  = 10.
      par(5)  = -10
      par(6)  = 10.
      par(9)  = 1000. + nx
      par(10) = 1000. + ny
      par(11) = 510.

      par(12) = 510.
      par(13) = 510.
      par(14) = 1.
      par(15) = 1.
      par(16) = 1.
      par(20) = 0.05
      par(21) = -61.
      par(22) = .1
      par(23) = .15
      par(24) = .1
*
*              Matrices filling
*
      do i=1,nx
         do j=1,ny
            v1(i,j)=float(i)
            v2(i,j)=float(i+j)
            v3(i,j)=float(j)
         enddo
      enddo
*
*              Stack drawing
*
      call start('stack',9.,9.)
      call igset('BARW',0.5)
      par(25) = 2.
      call igtabl(nx,ny,v1,npar,par,'+')
      par(25) = 5.
      call igtabl(nx,ny,v2,npar,par,'+')
      par(25) = 3.
      call igtabl(nx,ny,v3,npar,par,'LB1A')
      call igterm
      call finish
*
      end


                                                 

Figure: Example of stacked lego plots

[STACK]