contour grid points

13 vues (au cours des 30 derniers jours)
elalexcs K
elalexcs K le 3 Août 2011
Does any one knows how to retrieve the exact grid points of a specific contour when using contour or contourf function. I want to retrive the grid points that matlab uses to plot a specific value of a contour line.
thank you
  1 commentaire
elalexcs K
elalexcs K le 4 Août 2011
Man you are a genious!!
Just what I needed.
thanks a lot appreciate it

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 3 Août 2011
contour() and contourf() are almost identical internally. They return a single hggroup object, and that hggroup object have a bunch of Children. Each of the Children is a patch object for a different contour level, one patch object per level, with embedded NaN in the coordinates where needed to jump from one place to another in the drawing.
The code that builds the contours sets the Z coordinates to the level of the contour heights, but then one of the last things that contour / contourf does is reset those coordinates to 0. Fortunately, each patch object has a UserData property that is used to store the contour level that it was for.
Soooo...
chand = contour(....);
cpatches = get(chand, 'Children');
for K = 1:length(cpatches)
xcoord{K} = get(cpatches(K),'XData');
ycoord{K} = get(cpatches(K),'YData');
zcoord{K} = get(cpatches(K),'UserData');
end
Warning: for any contour that is moderately complex, the list of coordinates will be pretty messy, lots of ins-and-outs.

Plus de réponses (0)

Catégories

En savoir plus sur Contour Plots dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by