Why is the colormap not working as expected?

5 views (last 30 days)
In the following program cellImage and spineImage, both are being displayed in jet.
One of them should be gray and another should be jet.
But, I see both of them as jet.
% read three 8-bit images
cellImage = imread('cell.tif'); %Read in 8 bit intensity image of cell
spineImage = imread('spine.tif'); %Read in 8 bit intensity image of spine
onionImage = imread('onion.png'); %Read in 8 bit colour image
subplot(3,1,1); imagesc(cellImage); axis image; %Creates a 3 X 1 mosaic of plots
axis off; colormap(gray); %display first image
subplot(3,1,2); imagesc(spineImage); axis image; %Display second image
axis off; colormap(jet); %Set colourmap to jet (false colour)
subplot(3,1,3); imshow(onionImage); %Display third (colour) image
Output

Accepted Answer

Walter Roberson
Walter Roberson on 20 Jan 2017
Up to and including R2014a, colormap was a figure property. With R2014b it started becoming an axes property. You would get the output you observe on R2014a or earlier. (Your earlier questions have not happened to mention which MATLAB you are using)
  2 Comments
Ba Ba Black Sheep!
Ba Ba Black Sheep! on 20 Jan 2017
Edited: Ba Ba Black Sheep! on 20 Jan 2017
R2015a.
How can I modify this program to work in 2015a?
Walter Roberson
Walter Roberson on 20 Jan 2017
ax = subplot(3,1,1); imagesc(cellImage, 'Parent', ax); axis(ax, 'image', 'off'); colormap(ax,gray)
ax = subplot(3,1,2); imagesc(spineImage, 'Parent', ax); axis(ax, 'image', 'off'); colormap(ax,jet)
ax = subplot(3,1,3); imagesc(onionImage, 'Parent', ax); axis(ax, 'image', 'off');

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!