This is an overloaded function with a variety of argument lists:
interface plcont
subroutine plcontour_0(z,kx,lx,ky,ly,clevel)
integer :: kx,lx,ky,ly
real(kind=plflt), dimension(:,:) :: z
real(kind=plflt), dimension(:) :: clevel
end subroutine plcontour_0
subroutine plcontour_1(z,kx,lx,ky,ly,clevel,xg,yg)
integer :: kx,lx,ky,ly
real(kind=plflt), dimension(:,:) :: z
real(kind=plflt), dimension(:) :: clevel
real(kind=plflt), dimension(:) :: xg
real(kind=plflt), dimension(:) :: yg
end subroutine plcontour_1
subroutine plcontour_2(z,kx,lx,ky,ly,clevel,xg,yg)
integer :: kx,lx,ky,ly
real(kind=plflt), dimension(:,:) :: z
real(kind=plflt), dimension(:) :: clevel
real(kind=plflt), dimension(:,:) :: xg
real(kind=plflt), dimension(:,:) :: yg
end subroutine plcontour_2
subroutine plcontour_tr(z,kx,lx,ky,ly,clevel,tr)
integer :: kx,lx,ky,ly
real(kind=plflt), dimension(:,:) :: z
real(kind=plflt), dimension(:) :: clevel
real(kind=plflt), dimension(6) :: tr
end subroutine plcontour_tr
subroutine plcontour_0_all(z,clevel)
real(kind=plflt), dimension(:,:) :: z
real(kind=plflt), dimension(:) :: clevel
end subroutine plcontour_0_all
subroutine plcontour_1_all(z,clevel,xg,yg)
real(kind=plflt), dimension(:,:) :: z
real(kind=plflt), dimension(:) :: clevel
real(kind=plflt), dimension(:) :: xg
real(kind=plflt), dimension(:) :: yg
end subroutine plcontour_1_all
subroutine plcontour_2_all(z,clevel,xg,yg)
real(kind=plflt), dimension(:,:) :: z
real(kind=plflt), dimension(:) :: clevel
real(kind=plflt), dimension(:,:) :: xg
real(kind=plflt), dimension(:,:) :: yg
end subroutine plcontour_2_all
subroutine plcontour_tr_all(z,clevel,tr)
real(kind=plflt), dimension(:,:) :: z
real(kind=plflt), dimension(:) :: clevel
real(kind=plflt), dimension(6) :: tr
end subroutine plcontour_tr_all
end interface
When called from Fortran, this overloaded routine has the same
effect as when invoked from C. See
examples/fortran/x??f.f90 for various ways to call
plcont from Fortran.
The meaning of the various arguments is as follows:
z
(real(kind=plflt), dimension(:,:), input)
Matrix containing the values to be plotted.
kx, lx
(integer, input)
Range for the first index in the matrix z to consider.
If not given, then the whole first index is considered.
clevel
(real(kind=plflt), dimension(:), input)
Levels at which the contours are computed and drawn.
kx, lx
(integer, input)
Range for the first index in the matrix z to consider.
If not given, then the whole first index is considered.
ky, ly
(integer, input)
Range for the second index in the matrix z to consider.
If not given, then the whole second index is considered.
xg
(real(kind=plft), dimension(:) or
real(kind=plft), dimension(:,:), input)
The x-coordinates for the grid lines (if one-dimensional) or the x-coordinates of the grid vertices (if two-dimensional). The values in the matrix are plotted at these coordinates. If not given, implicit coordinates are used (equal to the indices in the matrix).
yg
(real(kind=plft), dimension(:) or
real(kind=plft), dimension(:,:), input)
The y-coordinates for the grid lines (if one-dimensional) or the x-coordinates of the grid vertices (if two-dimensional). The values in the matrix are plotted at these coordinates.
tr
(real(kind=plft), dimension(6), input)
The coefficients of an affine transformation:
x = tr(1) * ix + tr(2) * iy + tr(3) y = tr(4) * ix + tr(5) * iy + tr(6)
The indices of the matrix element are used to compute the "actual" coordinates according to the above formulae.