# Colormap always shades of blue

3 views (last 30 days)
Lotmeri on 26 Nov 2021
Edited: DGM on 29 Nov 2021
Hello, I am having a problem with the colormap... I'd like to have a picture like the one on the top... I ran the code and then I re-run in another PC (with a different version of Matlab --> r2020 vs r2021b)... And what I obtained with the SAME code is the graph on the bottom. Do you have a solution? Because I red that it happens sometimes, but I couldn't find a solution. Thank you in advance.
##### 2 CommentsShowHide 1 older comment
Lotmeri on 29 Nov 2021
angle=[5.58,3.49,4.19,0.35,2.79,3.49,3.14,3.49,3.14,5.58,0.35,0.35,3.14,3.84,2.79,3.84,3.14];
d=[15.83,8.46,11.69,10.18,11.05,10.79,6.72,10.59,9.89,10.23,10.33,9.32,10.02,8.14,10.88,8.07,6.61];
P=[-129.89,-129.76,-128.61,-128.32,-127.83,-127.75,-127.64,-127.40,-127.32,-127.22,-126.49,-125.19,-123.50,-120.44,-115.72,-111.30,-101.68];
Pmax=min(P);
Pmin=max(P);
delta_c = (Pmax - Pmin) / 63;
cmap_dB = Pmin + (0:63) * delta_c;
n_tot=length(P);
for index = 1:n_tot
h = polarplot(angle(index), dist_estim(index), 'o'); hold on;
[val, index_color] = min( abs( P(index) - cmap_dB ) );
map = colormap('jet');
set(h, 'MarkerFaceColor', map(index_color,:));
set(h, 'MarkerEdgeColor', map(index_color,:));
set(h, 'MarkerSize', 11);
end
Thank you.

DGM on 29 Nov 2021
Edited: DGM on 29 Nov 2021
You're not specifying your colormap length. If you don't do that, colormap() will create a map equal to the length of the current map. In earlier versions, the default length is 64, while in newer versions, it's 256. That said, if you had previously ran a script that set colormap(parula(17)), calling colormap(jet) will create a map of length 17 instead of 64 or 256. In other words, if you don't explicitly specify the map length, you have no control over how long the map is.
map = jet(numel(cmap_dB)); % just get the map; don't need colormap()
For what it's worth, you probably can also do this with polarscatter()
angle=[5.58,3.49,4.19,0.35,2.79,3.49,3.14,3.49,3.14,5.58,0.35,0.35,3.14,3.84,2.79,3.84,3.14];
d=[15.83,8.46,11.69,10.18,11.05,10.79,6.72,10.59,9.89,10.23,10.33,9.32,10.02,8.14,10.88,8.07,6.61];
P=[-129.89,-129.76,-128.61,-128.32,-127.83,-127.75,-127.64,-127.40,-127.32,-127.22,-126.49,-125.19,-123.50,-120.44,-115.72,-111.30,-101.68];
Pmax=min(P);
Pmin=max(P);
delta_c = (Pmax - Pmin) / 63;
cmap_dB = Pmin + (0:63) * delta_c;
map = jet(numel(cmap_dB)); % specify map length
[~,idx] = min( abs( P - cmap_dB.' ) );
h = polarscatter(angle, d, 75, map(idx,:), 'filled');

R2021b

### Community Treasure Hunt

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

Start Hunting!