Create a correlation graph in Matlab

zpesk picture zpesk · Apr 30, 2012 · Viewed 27k times · Source

I'm trying to emulate this graph: enter image description here

If I have a correlation matrix how can I create an output like this?

Answer

blafrat picture blafrat · Apr 30, 2012

If you have an n x n correlation matrix M, and a vector L of length n containing the label for each bin, you can use something like the following:

imagesc(M); % plot the matrix
set(gca, 'XTick', 1:n); % center x-axis ticks on bins
set(gca, 'YTick', 1:n); % center y-axis ticks on bins
set(gca, 'XTickLabel', L); % set x-axis labels
set(gca, 'YTickLabel', L); % set y-axis labels
title('Your Title Here', 'FontSize', 14); % set title
colormap('jet'); % set the colorscheme
colorbar on; % enable colorbar

Rotating x-axis labels is not trivial, but the MATLAB Central File Exchange contains some solutions.