I have a terrain map which i would like to represent some data in. See the below picture:

The area on the right circled by white is a separate surf function to the remainder of the plot. What I would like to be able to do is change the colour scheme. The outside should be grey scale and the inside should be a single colour based on a value that I have separate to the plot. Currently I have tried the colormap(gray) function then changing but that changes the entire plot.
I am open to suggestions about differant plotting styles ie. plot3 instead of surf. So the data i have to make these two surfs are two lists of x, y, z points.
If possible I would also like to display a colour bar that represents the colour of the circled area (which will be set by me based on the outside value).
Does anyone know of a good way to do this?
Thanks.
EDIT:
What i would like to do is this:

The Image should not have the dark blue at the top of the mound. The image will be continually update with more of the ‘blue’ spots, the colour should change based on an external value and ideally it will merge colours with the previous spots if they overlap.
Have you seen this from MATLAB Tech Support?
http://www.mathworks.com/support/solutions/en/data/1-GNRWEH/index.html
You can edit the
colorbarproperties.For example,
The last two lines are mine. The rest is from the MATLAB Tech Support link. And it will give you a colorbar with just one colormap. If you wanted the gray half of the colormap, then you would do
set(g,'YLim',[64 128]).