MATLAB: Create specific color map and save it

colormapMATLAB

how do i create my own color map for 2D-scatter plot.
such that all the values of z
  1. z <= 10 ——- take green color
  2. 10 < z <= 25 —– yellow color
  3. 25 < z <= 50 —– orange color
  4. z > 50 —– red color
i want to create a color map obeying such condition and save it , so that i can use with whatever z i obtain in future.
as an example i have attached x,y,z
scatter(x,y,[],z,'filled','o')

Best Answer

Try this
val_z = (10:51).';
idx = 1*(val_z<=10) + ...
2*((10<val_z) & (val_z<=25)) + ...
3*((25<val_z) & (val_z<=50)) + ...
4*(val_z>50);
colors = [0 1 0; % green
1 1 0; % yellow
1 0.5 0; % orange
1 0 0]; % red
cmap = colors(idx, :);
scatter(x,y,[],z,'filled','o')
colormap(cmap)
set(gca, 'CLim', [10 51]);