我创建了一个类似于人类连接组项目色彩映射ROY-BIG-BL的色彩映射,在色彩映射编辑器see here上手动完成。
但是,我无法将其保存为色彩映射表。 我尝试了不同的命令,如
mycmap = get(gcf,'colormap')
我在Matlab 2015中看到,应该使用gca,但这会产生错误。
使用matlab.graphics.axis.Axes / get时出错 Axes类上没有colormap属性。
当我尝试将保存的mycmap用于另一个图时,它会忽略所有修改并使用基本的colormap parula。
感谢您的帮助。如何保存并将其用作我想要的任何图形中的另一个色彩图?
答案 0 :(得分:3)
colormaps的定义深深隐藏在图类中,无法访问。因此,您无法在Matlab中“使用名称”保存色彩映射,并像普通色彩映射一样访问它。但是色彩图除了 Yx3 矩阵外,还可以存储在磁盘上。
%// 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。