Plot a "floating' 3D surface

6 次查看(过去 30 天)
Hi guys,
this is my issue.
I have a 40x40 Z matrix (named MUHAT_E) that I want to plot in a grid. So till here is simple:
x=linspace(0,1,40); y=linspace(0,1,40); [X,Y]=meshgrid(x,y); surf(X,Y,MUHAT_E)
The problem is that I don't like the result of this command:
I would like to get two things in this plot (if possible):
  1. Remove the blue floor not plotting the zero values of the Z matrix.
  2. Give a "floating" aspect to the matrix not connecting the edges of the red area with the zeros values.
With those two modifications I would be able to see the concavity of the function from below. Is that possible?. I attach the MUHAT_E matrix.
Thanks!!!.

采纳的回答

Stephen23
Stephen23 2015-7-9
编辑:Stephen23 2015-7-9
Replace the zeros with NaNs, and they will not get plotted:
X = load('MUHAT_E.txt');
X(X==0) = NaN;
surf(X)
creates this figure:

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Surface and Mesh Plots 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by