How to fill a graph exclusing given points?

2 views (last 30 days)
If a graph has a cluster of points, I want the graph to be filled such that every other point except the cluster is coloured
  8 Comments
Adam Danz
Adam Danz on 19 Sep 2019
If you have the coordinates of the cluster boundary, you can use the axis limits to create a match with the empty cluster region.
Here's an example

Sign in to comment.

Accepted Answer

Steven Lord
Steven Lord on 20 Sep 2019
Let's make a random (well, not so random, more arbitrary) polygon.
A = nsidedpoly(5, 'Center', [1 1], 'Radius', 2);
If you wanted to enclose a non-regular region you can use polyshape instead of nsidedpoly (in fact nsidedpoly makes a polyshape.) Plot it and make it red.
p = plot(A, 'FaceColor', 'r');
Find the axes that contains the plotted polygon.
ax = ancestor(p, 'axes');
Make the axes background cyan.
ax.Color = 'c';
Because the plotted polygon is translucent you can see the cyan background "through" it, which makes it look very not red. Let's make it fully opaque so you can't see the background through it.
p.FaceAlpha = 1;
There we go; red pentagon on a cyan background.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!