matlab中colormap的自定义与调用
程序员文章站
2022-05-20 22:30:39
...
昨天今天尝试了用matlab做三维直方图,但是发现matlab中自带的colormap颜色很少并且颜色特别深,很多不适合用作科研论文的结果展示,所以搜索实践了一下matlab中colormap的自定义与调用方法,在此与读者分享。
这里随便填了一张excel读入matlab中。先来看一张matlab默认的颜色渲染的直方图(左)和matlab中自带的一种叫做summer的colormaps渲染的直方图(右)的效果:
可以看到颜色都比较深。如果想换一个颜色的话,需要导入自定义的colormap。这里介绍两种方式。都需要在生成的图片窗口中先调整颜色,再将自己的colomap保存,以便后续使用。
- 生成的图片窗口中:编辑➡颜色图,打开的是“无标题的坐标轴”的colormap编辑界面,如下图。
双击上图中红框可以打开下图“选择标记颜色”窗口,通过[0-1],[0-255],十六进制三种方式更改、增加颜色。
比如我这里选择16进制方式,设定自己需要的渐变色,首#e8f0fc,尾#4582eb,自定义的colormap如下图。
接下来,依次输入以下语句保存自定义colormap:
ax=gca;
lightblue = colormap(ax); //把当前的ax的colormap赋给lightblue
save lightblue lightblue; //把lightblue变量保存为lightblue.mat,位置在matlab当前目录
此时可在脚本中调用自己的colormap:
load lightblue;
colormap(lightblue)
效果如下:
2. 生成的图片窗口中:编辑➡图形属性,打开的是Figure的colormap编辑界面。在颜色图中选择自定义,出来右侧的颜色图编辑器,如下图。然后自己定义渐变色首尾的颜色。
接下来,依次输入以下语句保存自定义colormap,第一种方式的稍有不同(这里我换了一种颜色):
lightpurple = colormap; //把当前colormap赋给lightpurple
save lightpurple lightpurple; //把lightpurple变量保存为lightblue.mat,位置在matlab当前目录
之后,调用自己的colormap也是一样的方式:
load lightpurple;
colormap(lightpurple)
效果如下:
最后给大家推荐一个不错的渐变色配色网站,https://webgradients.com/,通过截图下方的十六进制颜色就可以设定自己喜欢的渐变色啦~