Unable to apply separate colormaps and display in subplots

2 views (last 30 days)
Big Ben
Big Ben on 14 Jun 2022
Answered: DGM on 14 Jun 2022
I am trying to display a grayscale image with different colormaps in a subplot like so:
original = imread('cell.tif');
subplot(2,1,1); imagesc(original); axis('on', 'image'); title('Before'); colorbar; colormap("parula");
subplot(2,1,2); imagesc(original); axis('on', 'image'); title('After'); colorbar; colormap("turbo");
However, as can be seen in the result, I only get the turbo colormap in both the images.
Why does this happen? I was expecting the first image to have the parula colormap, and the second one to have the turbo colormap.

Accepted Answer

DGM
DGM on 14 Jun 2022
You can fix that by explicitly specifying the axes in the call to colormap().
original = imread('cell.tif');
h1 = subplot(2,1,1);
imagesc(original);
axis('on', 'image');
title('Before');
colorbar;
colormap(h1,"parula");
h2 = subplot(2,1,2);
imagesc(original);
axis('on', 'image');
title('After');
colorbar;
colormap(h2,"turbo");

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!