2D contourplots of a 3D function

I have a 3D matrix; corresponding to values of function f in space. I would like to display 2D contourplots of f at certain planes(x=x0 or y=y0 or z=z0); and I need the contour plane(cross section) to appear at the right location in 3D space; for example: for a plot at z=1:
what's the best way to do this in matlab? I would like something that works similar to quiver3:
[X Y Z]=meshgrid(-6:1:6,-6:1:6,1);
quiver3(X,Y,Z,fx,fy,fz))
except for scalar f.
I tried surf; it only worked for Z=Z0 planes

 Accepted Answer

Patrick Kalita
Patrick Kalita on 11 Apr 2012
I think you want to use slice.

3 Comments

yes looks like that's what I need. Is there a way to make data cursor on the figure display value of the volumetric data, instead of x y z coordinates?
Yes, have a look at datacursormode() . You customize the callback function to present whatever information you want.
code would be appreciated! assume slice(X,Y,Z,f,0,[],[]). Want to make cursor display value of f.

Sign in to comment.

More Answers (0)

Categories

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!