MATLAB Answers


Imagesc - set diag to white

Asked by susan
on 7 Nov 2011

Hi, Is there anyway to force a particular color on the diagonal of matrix plotted using imagesc?

Thanks, S



No products are associated with this question.

1 Answer

Answer by Walter Roberson
on 7 Nov 2011

You would have to record the handle of the image object returned by imagesc(), get() the CData property from that handle, set the diagonal of that color data to be equal valued (e.g., all 1) on all three color planes, and set() the CData back to the modified matrix.

This will not work for pseudocolor images, though; right at the moment I do not have access to MATLAB to test whether imagesc() creates truecolor or pseudocolor CData . If it does create pseudocolor, then it becomes more complex, especially if white is not one of the colors in the color map.


Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!