problems using my custom color map

Hi, I made a custom colormap (size = 15 x 3) and now I am trying to use it but it is not working. Here is the code:
...plotting code
set(gcf,'Colormap',mycmap)
And then I get this error:
Undefined function or variable 'mycmap'.
The mycmap variable is loaded into my workspace. Any help is appreciated.
Thanks, Dan.

 Accepted Answer

Is
set(gcf,'Colormap',mycmap)
executed in the base workspace?

5 Comments

It is executed inside of a plotting function I created.
Then you have two alternatives (at least)
  1. pass mycmap into the plotting function as an input argument
  2. run the function
colormap( mycmap );
or
set(gcf,'Colormap',mycmap)
in the base workspace
It works if I execute in the base workspace. Any ideas why it won't work inside of the function? Thanks for the help.
set(gcf, 'Colormap', evalin('base', 'mycmap'))
Are you familiar with the concept of MATLAB "workspaces" ?
Yes, but I just read up on the documentation to clarify things. I guess need to define the colormap inside of the function, or use your option Walter. Thanks for the help and advice!

Sign in to comment.

More Answers (1)

You can try using the colormap() function instead. Does this work for you?
grayImage = imread('cameraman.tif');
image(grayImage);
mycmap = jet(15);
% set(gcf,'Colormap',mycmap)
colormap(mycmap);
colorbar
Apparently you did not specify mycmap like you thought. Put this line right before your call to set():
whos mycmap
If it says it's undefined, then it is undefined, not 15 by 3 like you thought.

Categories

Tags

Asked:

Dan
on 20 Apr 2013

Community Treasure Hunt

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

Start Hunting!