Accelerating the pace of engineering and science

• Trials

# contourslice

Draw contours in volume slice planes

## Syntax

contourslice(X,Y,Z,V,Sx,Sy,Sz)
contourslice(X,Y,Z,V,Xi,Yi,Zi)
contourslice(V,Sx,Sy,Sz)
contourslice(V,Xi,Yi,Zi)
contourslice(...,n)
contourslice(...,cvals)
contourslice(...,[cv cv])
contourslice(...,'method')
contourslice(axes_handle,...)
h = contourslice(...)

## Description

contourslice(X,Y,Z,V,Sx,Sy,Sz) draws contours in the x-, y-, and z-axis aligned planes at the points in the vectors Sx, Sy, Sz. The arrays X, Y, and Z define the coordinates for the volume V and must be monotonic and represent a Cartesian, axis-aligned grid (such as the data produced by meshgrid). The color at each contour is determined by the volume V, which must be an m-by-n-by-p volume array.

contourslice(X,Y,Z,V,Xi,Yi,Zi) draws contours through the volume V along the surface defined by the 2-D arrays Xi,Yi,Zi. The surface should lie within the bounds of the volume.

contourslice(V,Sx,Sy,Sz) and contourslice(V,Xi,Yi,Zi) (omitting the X, Y, and Z arguments) assume [X,Y,Z] = meshgrid(1:n,1:m,1:p), where [m,n,p]= size(v).

contourslice(...,n) draws n contour lines per plane, overriding the automatic value.

contourslice(...,cvals) draws length(cval) contour lines per plane at the values specified in vector cvals.

contourslice(...,[cv cv]) computes a single contour per plane at the level cv.

contourslice(...,'method') specifies the interpolation method to use. method can be linear, cubic, or nearest. nearest is the default except when the contours are being drawn along the surface defined by Xi, Yi, Zi, in which case linear is the default. (See interp3 for a discussion of these interpolation methods.)

contourslice(axes_handle,...) plots into the axes with the handle axes_handle instead of into the current axes (gca).

h = contourslice(...) returns a vector of handles to patch objects that are used to implement the contour lines.

## Examples

expand all

### Contour Slices of Fluid Flow

Store the matrices X, Y, Z, and V from the flow data set.

```[X,Y,Z,V] = flow;
```

Create nine contour plots in the y-z plane, no plots in the x-z plane, and one plot in the x-y plane by specifying Sx as a vector of nine elements, Sy as an empty vector, and Sz as a scalar.

```Sx = 1:9;
Sy = [];
Sz = 0;
```

Draw 10 contour lines between -8 and 2 by specifying cvals as a 10-element vector of linearly spaced values between -8 and 2.

```cvals = linspace(-8,2,10);
```

Create the contour slice plots and set the axis limits. Set the data aspect ratio, change the camera position, and display the black box outline.

```figure
contourslice(X,Y,Z,V,Sx,Sy,Sz,cvals);

axis([0,10,-3,3,-3,3]);
daspect([1,1,1]);
campos([0,-20,7]);
box on
```

### Contour Slices Along Spherical Surface

Set up matrices X, Y, and Z using the meshgrid function.

```x = -2:0.2:2;
y = -2:0.25:2;
z = -2:0.16:2;
[X,Y,Z] = meshgrid(x,y,z);
```

Use X, Y, and Z to define V as a matrix of volume data.

```V = X.*exp(-X.^2-Y.^2-Z.^2);
```

Return matrices Xi, Yi, and Zi from the sphere function.

```[Xi,Yi,Zi] = sphere;
```

Draw contours through the volume V along the surface defined by Xi, Yi, and Zi. Change the plot view to a 3-D view.

```contourslice(X,Y,Z,V,Xi,Yi,Zi)
view(3)
```