MATLAB: Changing colors using imagesc

colorsgridsimagesc

I have large matrix M whose elements take the values of either 1, 0 or -1. I am using imagesc(M) but I want to plot green color where there is 1, red color where there is 0 and white color where there is -1 in the matrix. How can I do this?

Best Answer

Create your own colourmap, e.g
data = round( 2 * ( rand(20) - 0.5 ) );
figure; hAxes = gca;
imagesc( hAxes, data );
colormap( hAxes , [1 1 1; 1 0 0; 0 1 0] )