How to subtract a scatterplot object from a polyshape object

4 views (last 30 days)
In my app I am defining polyshapes that represent satellite scan regions on Earth. I know how to subtract polyshapes from each other, for example along coastlines. Now I have a set of scatterplots that represent things such as sea ice, that I also need to subtract from the polyshape scan regions, something like this:
The pink represents the satellite scan region, and the blue is the scatterplot. I need to subtract the scatterplot area from the polyshape scan region. I know scatterplots do not have "area" per se, but perhaps we can define a boundary?
Is there a way to convert a scatterplot to a polyshape? I have seen several discussions here on scatterplots, but nothing quite like this situation. The closest I have come is this answer:
Thanks!

Accepted Answer

Walter Roberson
Walter Roberson on 8 Apr 2025
You can retrieve the XData and YData from the scatter plot, and pass the resulting points to boundary or alphaShape to trace around the outside of the set of points. This will give you a refined set of points that you can use to create another polyshape that you can then subtract from the original polyshape.
  8 Comments
Walter Roberson
Walter Roberson on 10 Apr 2025
Well you could do something like kmeans clustering and select each cluster and boundary() it individually.
... Now you just need a way of automatically determining the correct number of clusters...
Kurt
Kurt on 10 Apr 2025
Is there a way to divide a polyshape into its separate regions? I didn't see anything.

Sign in to comment.

More Answers (1)

peak
peak on 1 Apr 2025
Edited: Steven Lord on 1 Apr 2025
The scatterplot is shown in blue, while the satellite scan region is shown in pink. The scatterplot area must be subtracted from the polyshape scan region. https://www.mathworks.com/matlabcentral/answers/472879-surface-from-scatter-3-plot
[SL: Removed link that appeared to be unrelated to the question.]
  1 Comment
Kurt
Kurt on 1 Apr 2025
Edited: Kurt on 8 Apr 2025
Can you elaborate on this ? I don't see a solution in the link. I'm trying to work with polyshapes, which are not quite the same thing as surface plots.
Also, my scatterplot data contains NaNs, which don't work well with mesh objects.

Sign in to comment.

Categories

Find more on Elementary Polygons in Help Center and File Exchange

Products


Release

R2023b

Community Treasure Hunt

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

Start Hunting!