# Select zone of the plot

3 views (last 30 days)
Miguel Albuquerque on 26 Jul 2022
Commented: Star Strider on 27 Jul 2022
Is there a way of representing azimuth3, only the red zones, which means, selecting only the most red zones of the plot? Star Strider on 26 Jul 2022
Edited: Star Strider on 26 Jul 2022
This can certainly be done, however it is definitely not trivial!
Try this —
azimuth3 = LD.azimuth3;
figure
[M,C] = contourf(azimuth3,25, 'EdgeColor','none');
Levels = C.LevelList
Levels = 1×26
1.0e+06 * 0.0001 0.0657 0.1314 0.1970 0.2626 0.3282 0.3939 0.4595 0.5251 0.5908 0.6564 0.7220 0.7876 0.8533 0.9189 0.9845 1.0501 1.1158 1.1814 1.2470 1.3127 1.3783 1.4439 1.5095 1.5752 1.6408
for k = 1:numel(Levels)
idx = find(M(1,:) == Levels(k));
ValidV = rem(M(2,idx),1) == 0;
StartIdx{k,:} = idx(ValidV);
VLen{k,:} = M(2,StartIdx{k});
end
colormap(turbo)
title('Original Filled Contour Plot') v = axis(gca); % Get Original Axis Limits
[HiLvls,idx] = maxk(Levels,9); % Choose 9 Highest Contours
idx = flip(idx);
cm = turbo(numel(Levels)); % Define 'colormap' For This Plot
figure
hold on
for k = 1:numel(idx)
k1 = idx(k);
for k2 = 1:numel(k1)
idxv = StartIdx{k1}(k2)+1 : StartIdx{k1}(k2)+VLen{k1}(k2); % Index For Contour 'k1'
xv = M(1,idxv);
yv = M(2,idxv);
patch(xv, yv, cm(k1,:), 'EdgeColor','none') % Fill & Colour The Chosen Contours
end
end
hold off
axis(v)
title('Highest Level Contours') Make appropriate changes to work as you want it to with your data.
EDIT — (26 Jul 2022 at 21:04)
Increased the number of contours to be plotted in the second plot.
.
##### 2 CommentsShowHide 1 older comment
Star Strider on 27 Jul 2022
As always, my pleasure!

### Categories

Find more on Surface and Mesh Plots in Help Center and File Exchange

R2021b

### Community Treasure Hunt

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

Start Hunting!