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.

 采纳的回答

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

5 个评论

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!

请先登录,再进行评论。

更多回答(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.

类别

帮助中心File Exchange 中查找有关 Color and Styling 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by