MATLAB: Removing Extreme Value from Colorbar

3d plotsarraycolormapMATLABsize;

I am working with a 3D scatter plot that is mapping the X,Y, and Z positions of a certain body, the time spent at each point is represented by the the intensity of the color dictated by a colormap. My code works and the color bar also works, however there are few extreme values that skew the color bar thus reducing the usefulness of it.
How can I remove these extreme values from the colorbar yet plot them? I understand the sizes of the arrays should be the same, and I cannot remove the entries from my array as they are important to 3D scatter plot
scatter3(X , Y , Z ,15,time)
newmap = parula(100);
ncol = size(newmap,1);
zpos = 1 + floor(0);
newmap(zpos,:) = [1 0 0];
colormap(newmap);
h=colorbar;

Best Answer

You can set the colormap limits for the current axes by using caxis:
caxis([-5,50])
Values below or above these limits will be colored with the color according to the last or first value of your colormap.