In this section:
The following code is extracted from program simdem22.f95 in the Simdem package, and it illustrates how easy it is to plot a surface defined as z = f(x,y), where x, y, and z are double precision arrays. The x and y values must be in the form of a rectangular grid.
! ! Define x and y ! nx = 20 ny = 20 x(1) = - one x(nx) = one delta = (x(nx) - x(1))/(dble(nx) - one) do i = 2, nx - 1 x(i) = x(i - 1) + delta enddo y(1) = - one y(ny) = one delta = (y(ny) - y(1))/(dble(ny) - one) do j = 2, ny - 1 y(j) = y(j - 1) + delta enddo ! ! Define z = f(x,y) and the ranges (xmin,xmax), (ymin,ymax) ! do j = 1, ny do i = 1, nx z(i,j) = x(i)**2 - y(j)**2 enddo enddo xmax = x(nx) xmin = x(1) ymax = y(ny) ymin = y(1) ! ! Display the surface, contours, projection, skyscraper blocks, etc. ! call surd2s (isend, nmax, nx, ny, vector, xmax, xmin, ymax, ymin, z, unused)
The following plot is then displayed, and can be edited to add further features, printed, or archived as a graphics file. The contours can be suppressed, or plotted separately, and there are options to rotate, add labels, arrows, text, graphical objects, etc. In addition, the points defined by z = f(x,y) can be plotted as bars, or cylinders, when error bars can also be added.