Add contour to 3d surface plot

I have a 3d surface plot created using surf(x,y,z,c) and I would like to highlight a certain area by either drawing a contour line where each x,y,z triple exceeds a level, or by using a differnet colour in this an (or both)!
The help on contourslice is a bit obscure for me
Thanks

Answers (1)

Do you want a contour, or a patch()?
[X,Y,Z] = peaks;
surf(X,Y,Z); hold on;
patch(X,Y,4*ones(size(Z)),'green');
view(-20,4);

4 Comments

sorry pasted incorrectly at first.
That didn't seem to work at all...
I have being playing wiith subvolume :
[a,b,c,V]=subvolume(X,Y,Z,V,[mx-3,mx,my-3,my,mz-3,mz])
but I get the error 'V must be a 3D array' - which isn't very helpful since I think v is a 3d array, (X, Y,Z = are all 30x30 matrces)
Any thoughts?
30x30 is 2d...
30x30x30 would be 3d.
You visualize a dimension for each component. x/y can be 1d vectors and you visualize them on a 2d x/y plot. x/y/z are 2d matrices and so you visualize them on a 3d plot.

Sign in to comment.

Categories

Tags

Asked:

on 6 Oct 2011

Community Treasure Hunt

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

Start Hunting!