+--------------------------------------+
| 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:
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
+-+-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
+-+--------------------------------------------------------------------------------------------+-+ +-+-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
+-+-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
+-+--------------------------------------------------------------------------------------------+-+ +-+-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
+-+--------------------------------------------------------------------------------------------+-+ +-+-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
+-+--------------------------------------------------------------------------------------------+-+ +-+-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
+-+-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
Figure: Example of the IGTABL Lego option
Figure: Example of the IGTABL Lego L1 option
Figure: Example of the IGTABL Lego L2 option
Figure: Example of the IGTABL Surface option
Figure: Example of the IGTABL Surface S1 option
Figure: Example of the IGTABL Surface S2 option
Figure: Example of the IGTABL Surface S3 option
Figure: Example of the IGTABL Surface S4 option
Figure: Example of the IGTABL Surface SPOL option
Figure: Example of the IGTABL Surface SCYL option
Note that the options POL, CYL, SPH, and PSD can be used together with any lego or surface options.
Figure: Example of the IGTABL Surface SSPH option
Figure: Example of the IGTABL Surface SPSD option
+-+-----------------+--------------------------------------------------+-## +-+-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
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