surface disappears when zdata is set to 0

3 次查看(过去 30 天)
for some reason i want to set the zdata of a surface plot object to zero, keeping its color, and setting view point to [0 0 1] (looking at it from the top).
code used:
surfobjhandle=surf(X,Y,Z);
colordata=get(surfobjhandle,'cdata');
view([0 0 1]);
set(surfobjhandle,'zdata',zeros(size(get(surfobjhandle,'zdata'))));
set(surfobjhandle,'cdata',colordata);
however, this way the surface is not visible anymore with the viewpoint set to [0 0 1]. it only appears setting a different viewpoint which is not what i want. why is this?
  4 个评论
Peter
Peter 2012-8-29
i'm puzzled: it's almost 3 weeks after i posted the question and i'm not able to reproduce the problem anymore... the code i posted works just fine now.
Jan
Jan 2012-8-29
@Peter: If you had posted the test data I've asked for, the problem would have been solved faster, perhaps.

请先登录,再进行评论。

回答(1 个)

Kevin Moerman
Kevin Moerman 2012-8-29
This example is probably equivalent to what you want:
[X,Y,Z]=peaks(25); figure; surf(X,Y,zeros(size(Z)),Z) ; view(3); axis vis3d;
Perhaps you loose your plot because of axis tight? That sometimes crops too tightly. Also have a look at using the pcolor and imagesc commands instead.
Kevin

类别

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