Heatmaps in MATLAB®

How to make Heatmap plots in MATLAB® with Plotly.


Plotly is known for its graphing libraries, but it's also a broader ecosystem for building interactive data apps, AI data analysis tools, and deploying and hosting Dash apps. Explore the full set of tools and platforms designed to help turn data into action. Discover Plotly.

Note: We are retiring documentation for R, MATLAB, Julia, and F#. Learn more about this change here.

Simple Heatmap with imagesc

size = 50;
z = zeros(size, size);
for r = 1:size
    for c = 1:size
        z(r,c) = r+c;
    end
end
fig = figure;

colormap('hot');
imagesc(z);
colorbar;

fig2plotly(fig);
data = {...
  struct(...
    'z', [1, 20, 30; 20, 1, 60; 30, 60, 1], ...
    'type', 'heatmap')...
};

plotly(data);

Heatmap with Categorical Axis Labels

data = {...
  struct(...
    'z', [1, 20, 30, 50, 1; 20, 1, 60, 80, 30; 30, 60, 1, -10, 20], ...
    'x', { {'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'} }, ...
    'y', { {'Morning', 'Afternoon', 'Evening'} }, ...
    'type', 'heatmap')...
};

plotly(data);

Setting Custom Colourscale

url = 'https://raw.githubusercontent.com/plotly/datasets/master/MATLAB/Z.csv';

Z = readmatrix(url);

data = {...
  struct(...
    'z', Z, ...
    'colorscale', {
        {0.0, 'rgb(165,0,38)'},
        {0.111, 'rgb(215,48,39)'},
        {0.222, 'rgb(244,109,67)'},
        {0.333, 'rgb(253,174,97)'},
        {0.444, 'rgb(254,224,144)'},
        {0.555, 'rgb(224,243,248)'},
        {0.667, 'rgb(171,217,233)'},
        {0.778, 'rgb(116,173,209)'},
        {0.889, 'rgb(69,117,180)'},
        {1.0, 'rgb(49,54,149)'} },...
    'type', 'heatmap')...
};

plotly(data);