Matlab 3D Plot (surf) fills in empty gaps automatically
15 次查看(过去 30 天)
显示 更早的评论
I'm using surf() to plot a portion of a sphere; basically a shell of a certain shape that is on top of a sphere. More specifically, it is the workspace plot of spherical joint with color representing the resolution of the joint at that point.
Anyways, the shape is unique, but surf() automatically fills in gaps that should not be there. I'm guess it might be the order that it is plotted? Is there any way to prevent Matlab from doing this?
I think it is obvious in the pictures what should not be there (the blue portion)...
Also, it seems to mess up the color coding as well. The dark blue should be at the bottom edges of the shell; instead Matlab assigns it to the surface used to fill the gaps.
Thanks!
0 个评论
回答(2 个)
Walter Roberson
2013-4-3
How are you telling surf() that data should not be there?
The results you are showing are consistent with you having initialized a matrix to 60, writing data into part of it, and then surf()'ing the whole thing.
Omid Adljuy
2013-4-5
Set the Z data that you don't want to be plotted to NaN.
But let the X,Y data remain what they are; I mean don't set X,Y to NaN.
This shall work.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Surface and Mesh Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!