Matlab 3D Plot (surf) fills in empty gaps automatically
11 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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)...
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/152097/image.jpeg)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/152099/image.jpeg)
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 commentaires
Réponses (2)
Walter Roberson
le 3 Avr 2013
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
le 5 Avr 2013
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.
Voir également
Catégories
En savoir plus sur Surface and Mesh Plots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!