---
name: "plot3d"
section: "3plplot"
platform: "linux"
package: "plplot-doc"
version: "5.15.0+dfsg2-15"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/plot3d"
---

# plot3d(3plplot)

Plot 3-d surface plot

## NAME

**plot3d** - Plot 3-d surface plot

## SYNOPSIS

**plot3d**(*x*, *y*, *z*, *nx*, *ny*, *opt*, *side*)

## DESCRIPTION

Plots a three-dimensional surface plot within the environment set up by [**plw3d**(3plplot)](/plw3d/3plplot.md).  The surface is defined by the matrix *z*\[*nx*\]\[*ny*\] , the point *z*\[i\]\[j\] being the value of the function at (*x*\[i\],*y*\[j\]). Note that the points in vectors *x* and *y* do not need to be equally spaced, but must be stored in ascending order.  The parameter *opt* controls the way in which the surface is displayed.  For further details see the PLplot documentation. The only difference between [**plmesh**(3plplot)](/plmesh/3plplot.md) and [**plot3d**(3plplot)](/plot3d/3plplot.md) is that [**plmesh**(3plplot)](/plmesh/3plplot.md) draws the bottom side of the surface, while [**plot3d**(3plplot)](/plot3d/3plplot.md) only draws the surface as viewed from the top.

Redacted form: **plot3d(x, y, z, opt, side)**

This function is used in examples 11 and 21.

## ARGUMENTS

- *x* (**PLFLT\_VECTOR**(3plplot), input)

  A vector containing the x coordinates at which the function is evaluated.

- *y* (**PLFLT\_VECTOR**(3plplot), input)

  A vector containing the y coordinates at which the function is evaluated.

- *z* (**PLFLT\_MATRIX**(3plplot), input)

  A matrix containing function values to plot.  Should have dimensions of *nx* by *ny*.

- *nx* (**PLINT**(3plplot), input)

  Number of *x* values at which function is evaluated.

- *ny* (**PLINT**(3plplot), input)

  Number of *y* values at which function is evaluated.

- *opt* (**PLINT**(3plplot), input)

  Determines the way in which the surface is represented: *opt*=DRAW\_LINEX : Lines are drawn showing *z* as a function of *x* for each value of *y*\[j\] . *opt*=DRAW\_LINEY : Lines are drawn showing *z* as a function of *y* for each value of *x*\[i\] . *opt*=DRAW\_LINEXY : Network of lines is drawn connecting points at which function is defined.

- *side* (**PLBOOL**(3plplot), input)

  Flag to indicate whether or not \`\`sides'' should be draw on the figure.  If *side* is true sides are drawn, otherwise no sides are drawn.

## AUTHORS

Many developers (who are credited at http://plplot.org/credits.php) have contributed to PLplot over its long history.

## SEE ALSO

PLplot documentation at http://plplot.org/documentation.php.
