Instead of using pcolor() on your data, use
FirstRGBData = ind2rgb( im2uint8( mat2grey(FirstData) ), cm1 );
cm2 = parula(256);
SecondRGBData = ind2rgb( im2uint8( mat2grey(FirstData) ), cm2 );
Now you can display FirstRGBData and SecondRGBData as images.
The best way to display the two as images depends upon whether you want the two to be in different axes, or if you want the two to have exactly the same size, or if you want the second to overlay part of the first. You should have a look at the XData and YData parameters of image() for information on how to indicate which portion of the axes to display the image at.
I suspect that you want the second one to be at least partly transparent. You would pass AlphaData to image() to do that. For example,
image(FirstRGBData, 'XData', [1/2 4000+1/2], 'YData', [1/2 4000+1/2]);
hold on
image(SecondRGBData, 'XData', [1/2 4000+1/2], 'YData', [1/2 4000+1/2], 'AlphaData', 0.5);
Best Answer