MATLAB Function Reference |

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(...,'

') h = contourslice(...)*method*

**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 3-D plaid (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 arrays `Xi,Yi,Zi`

.

`contourslice(V,Sx,Sy,Sz)`

and `contourslice(V,Xi,Yi,Zi)`

(omitting the `X`

, `Y`

, and `Z`

arguments) assumes `[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.

can be: *method*`linear`

, `cubic`

, `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).

`h = contourslice(...)`

returns a vector of handles to `patch`

objects that are used to implement the contour lines.

**Examples**

This example uses the `flow`

data set to illustrate the use of contoured slice planes (type `doc`

`flow`

for more information on this data set). Notice that this example:

- Specifies a vector of
`length = 9`

for`Sx`

, an empty vector for the`Sy`

, and a scalar value (0) for`Sz`

. This creates nine contour plots along the x direction in the y-z plane, and one in the x-y plane at z = 0. - Uses
`linspace`

to define a ten-element linearly spaced vector of values from -8 to 2 that specifies the number of contour lines to draw at each interval. - Defines the view and projection type (
`camva`

,`camproj`

,`campos`

) - Sets figure (
`gcf`

) and axes (`gca`

) characteristics. [x y z v] = flow; h = contourslice(x,y,z,v,[1:9],[],[0],linspace(-8,2,10)); axis([0,10,-3,3,-3,3]); daspect([1,1,1]) camva(24); camproj perspective; campos([-3,-15,5]) set(gcf,'Color',[.5,.5,.5],'Renderer','zbuffer') set(gca,'Color','black','XColor','white', ... 'YColor','white','ZColor','white') box on

**See Also**

`isosurface`

, `smooth3`

, `subvolume`

, `reducevolume`

Volume Visualization for related functions

contourf | contrast |