How to subtract a scatterplot object from a polyshape object
4 views (last 30 days)
Show older comments
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!
0 Comments
Accepted Answer
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
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...
More Answers (1)
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.]
See Also
Categories
Find more on Elementary Polygons in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!