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.

 Akzeptierte Antwort

per isakson
per isakson am 20 Apr. 2013

0 Stimmen

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

5 Kommentare

Dan
Dan am 20 Apr. 2013
It is executed inside of a plotting function I created.
per isakson
per isakson am 20 Apr. 2013
Bearbeitet: per isakson am 20 Apr. 2013
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
Dan
Dan am 22 Apr. 2013
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" ?
Dan
Dan am 23 Apr. 2013
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!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Image Analyst
Image Analyst am 20 Apr. 2013

0 Stimmen

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.

Kategorien

Mehr zu Color and Styling finden Sie in Hilfe-Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by