我正在编写一个 GUI,它将受益于用户按名称选择的颜色图。但是,我有点进退两难,因为我似乎无法以编程方式获取受支持的颜色图名称列表!
虽然我可以硬编码名称;我的代码可能在旧版本的 matlab 上运行,这些版本可能具有不同的颜色图。我主要关心的是 parula 颜色图,如果我没记错的话,它在 MATLAB 2014 中不存在。
有什么想法吗?
最佳答案
或者,您可以对它们进行硬编码,并使用带有 graphicsversion(fhandle)
的 if
语句。
It returns returns true if the default graphics system is the old handle graphics one.
您也可以尝试获取一个广泛的列表,然后检查 colormapname.m
是否是 matlabroot\toolbox\matlab\graph3d
中的文件。如果该函数存在,则颜色图会出现在该版本中。不过,您仍然需要对大量列表进行硬编码。
编辑:正如@thewaywewalk 建议的那样,您可以在 matlabroot\toolbox\matlab\graph3d
中打开 Contents.m
并搜索 % Color maps.
它有一个版本中包含的颜色图列表。 2014b 在第 29-48 行
关于MATLAB 获取颜色图名称列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37164990/