如何在MATLAB中设置自定义默认的颜色映射?

6

有人在其他地方提出了这个问题,并被告知有一个“提示”在这里,但我对MATLAB还不是很熟悉,不知道如何使用那个提示。

我有一个文件cmap.mat。我加载它并按以下方式更新颜色映射:

load cmap.mat;
colormap(cmap);

但这只适用于当前图像。我希望所有的图像都使用这个调色板。


我知道它能工作...但有时,如果您的自定义色图只是为了最大化可视化效果,我认为最好只使用默认的色图,因为它们用于标准比较,并且不会对可视化产生偏见。但无论如何,选择权在您手中... - Hotloo Xiranood
@Hotloo 默认的颜色映射在中间是绿色。对于发散(+-0)数据来说非常糟糕,应该在中间使用白色。 - mankoff
许多人会认为MATLAB默认的jet色图是无效甚至具有欺骗性。例如,可以查看这篇非常有趣的论文,该论文提出了更好的默认色图。 - OSE
1个回答

8
要设置所有图形将使用的默认属性,您必须在根对象上设置该默认值。这里有一些更好的文档解释如何做到这一点。在您的情况下,您需要执行以下操作:
set(0,'DefaultFigureColormap',cmap);

一般而言,您需要设置的属性名称为单词'Default'后跟句柄对象名称(即'Figure''Line''Surface'等),然后再跟上要设置默认值的属性名称。设置后,随后创建的句柄对象将使用您指定的默认值设置该属性。
注意:您设置的默认属性值仅在当前的MATLAB会话中有效。如果重新启动MATLAB,则默认值将恢复为其出厂设置。要在每次启动MATLAB时使用相同的默认值,请在'startup.m'文件中应用它们。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接