2017-07-09 504 views
3

我创建了一个类似于人类connectome项目颜色映射ROY-BIG-BL的颜色映射,在颜色映射编辑器see here上手动执行。如何保存自定义颜色映射并在Matlab中再次使用它?

但是,我无法将其保存为色图。 我尝试了不同的命令,如

mycmap = get(gcf,'colormap') 

,我读了用Matlab 2015年应该使用GCA,但这给出了一个错误。

使用matlab.graphics.axis.Axes时出错/得到 Axes类没有colormap属性。

当我尝试将保存的mycmap用于另一个图形时,它将忽略所有修改并使用基本colormap parula。

感谢您的帮助。我怎样才能保存它并将它用作我想要的任何图形中的另一个色彩映射?

回答

2

色彩映射的定义深深隐藏在图形类中,这是无法访问的。所以你不能在Matlab中保存你的色彩图“名称”,并像普通的色彩图一样访问它。但是色彩图不仅仅是一个矩阵,您可以将其存储在磁盘上。

%// custom colormap 
n = 50;    %// number of colors 
R = linspace(1,0,n); %// Red from 1 to 0 
B = linspace(0,1,n); %// Blue from 0 to 1 
G = zeros(size(R)); %// Green all zero 
myCustomColormap = [R(:), G(:), B(:)]; 

%// save colormap on disk 
save('myCustomColormap','myCustomColormap'); 

%// clear for explanation purposes 
clear 
%%%%%%%%%%%%%%%%%%% 

%// load colormap saved on disk 
load myCustomColormap 

%// assign colormap 
colormap(myCustomColormap); 

您使用的颜色表编辑器创建的颜色表。您应用它之后,使用下面的代码,以获得所需的矩阵进一步参考:

myCustomColormap = colormap(gca) 
save('myCustomColormap','myCustomColormap'); 

如果你想使颜色表一般提供给您的所有功能,无论身在何处,add it to your Matlab search path

+0

非常感谢您的工作。我将获得的矩阵整合到m文件中,就像来自Anders Biguri的https://mathworks.com/matlabcentral/fileexchange/51986-percept-uniform-colormaps一样。色彩地图现在普遍可用。 – Markus

相关问题