Colormap not working: is it too long?

When I use the following colormap, cmap1, I only get two colors displayed in my figure. Why does Matlab hate my colormap?
cjet = [jet];
njet = numel(cjet(:,1));
c0 = 0.2;
cm = 0.3;
c1 = 1.0;
wn = round(njet*(c1-c0)/(cm-c0)-njet)+1;
stp = 1/(wn-1);
jet2white = [(1-(stp:stp:1)')*0.5 zeros(wn-1,1) zeros(wn-1,1)];
cmap1 = [cjet; jet2white];
figure; imagesc(rand(100,100)); colormap(cmap1); caxis([0 1]);

Answers (1)

Image Analyst
Image Analyst on 31 May 2015
I get more than 2 colors, but anyway, your cmap1 is 512 rows long. It should be 256 rows long. I believe it just ignores the second 256 rows.

3 Comments

256 rows is an MS Windows limitation. OS-X and Linux are happy to use more rows; I just happily used 65535 entries on OS-X.
The Windows 256 color limitation was removed in R2014b.
Christopher, what operating system and version of MATLAB are you using?

Sign in to comment.

Products

Tags

Asked:

on 31 May 2015

Commented:

on 1 Jun 2015

Community Treasure Hunt

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

Start Hunting!