Hello,
I have plot a 3d figure. But the height on the z-axis looks like a flat 2d surface.
How can I plot the height and makes the height displays like a 3d surface.
Many thanks!

4 Comments

Change the zlim(). If you are hard-coding the zlim now, then let MATLAB figure it out for itself.
Alan
Alan on 6 Jan 2021
Thanks. I know change the zlim( ) makes my plot a little more 3d like. The question is I want to draw the plot like the below example, in the sample plot, the height is displayed by 3d surface and their height is randomly distributed. But my plot, the height is just displayed by the same color points.
VBBV
VBBV on 6 Jan 2021
Edited: VBBV on 6 Jan 2021
May be you're equations for Z axis produces flatter surfaces. Or try with varied xlim and ylim range values in meshgrid generation for surf plot
Alan
Alan on 6 Jan 2021
Thanks. The surf plot is what I want to realize.

Sign in to comment.

 Accepted Answer

Star Strider
Star Strider on 6 Jan 2021

1 vote

It depends what your data are.
If you are currently using scatter3 or plot3, and your data are reasonably ordered, instead use surf.
If your data are random, create a surface using griddata (or similar functions) to interpolate your point data to a surface that surf can use.

2 Comments

Alan
Alan on 6 Jan 2021
Thank you. The surf function works here.
My pleasure!
If my Answer helped you solve your problem, please Accept it!
Also, although I wrote ‘random’ I meant ‘scattered’ .

Sign in to comment.

More Answers (0)

Asked:

on 6 Jan 2021

Edited:

on 12 Jan 2021

Community Treasure Hunt

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

Start Hunting!