How to access the data of contourf function to decides whether the interior of the contour is filled or not?

6 views (last 30 days)
How can I access the contourf function data that could inform me on whether the internal data of the contour (that has a filled colour) is greater or lesser than the value the contour is designated to 'cut' the surface function at.
I.e.
p = peaks;
figure
k = contourf(p, [2 2]);
The 'cut' of the surface function, p, occurs at a defined value (or you could think of it as a height) of 2. This would give a plot as follows:
To restate my question; how/where can I access the data that dictates if the internal value of the contour is greater or lesser than the cut off value (in this case, 2). In this case it is clear that the internal value is greater than the cut off value, but I would like to access this information so that can create an algorithm to do this autonomously for any contourf plot. I am confident this information should be availible as the contourf function knows whether to colour fill the interior of the contour or not.
Thank you for any advice in advance.

Accepted Answer

darova
darova on 4 Mar 2020
You can access to each contour separately
[C,h] = contourf(p, [2 2]);
h1 = get(h,'children');
for i = 1:length(h1)
x = get(h1(i),'xdata');
y = get(h1(i),'ydata');
end
  9 Comments
darova
darova on 14 May 2020
Sorry fot the late response. Didn't see you answered
What about inpolygon? It can check if point is inside a contour
Elliot Bontoft
Elliot Bontoft on 19 May 2020
Hi @darova,
Thanks for getting back to this post.
Yes, in the end I used the first three points, calculated the angle between the vector from point 2-1, and 2-3. Then took a small step in the vector of half that angle in either direction (thus, one must be inside and one outside).
Knowing this, I used inpolygon to check which one was internal.
Thanks for your help, this is working well and is quite robust.
Code attached.

Sign in to comment.

More Answers (0)

Categories

Find more on Contour Plots in Help Center and File Exchange

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!