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

 采纳的回答

Patrick Kalita
Patrick Kalita 2012-4-11

0 个投票

I think you want to use slice.

3 个评论

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.

请先登录,再进行评论。

更多回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 Contour Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by