matlab如何自定义colorbar.docx
《matlab如何自定义colorbar.docx》由会员分享,可在线阅读,更多相关《matlab如何自定义colorbar.docx(12页珍藏版)》请在冰豆网上搜索。
matlab如何自定义colorbar
matlab画平面分布图时colorbar的设置是非常重要的,好的colorbar不仅使图像更美观,而且能够使人更容易捕捉图上传递的信息。
用过matlab的同学都知道matlab默认的colormap是jet,也就是你画完图后输入“colorbar”它所显示出来的颜色。
此外,matlab还自带了很多colormap,如hsv,autumn,bone,colorcube等等。
我们直接在命令窗口输入例如"colormap(hsv)"就可以是平面图的颜色显示相应的colormap。
下面教大家如何自定义自己想要的colormap,方法十分简单。
以中国海的海面温度图为例:
这是一张有m_pcolor画出来的图,之后colormap是matlab默认的jet(即直接输入命令‘colorbar’显示的colormap)。
如果我们这是在命令窗口输入‘colormap(hsv)’,则会变成下面这张图:
(请忽视图标题,截图很麻烦,见谅)
如果我们这是想定义一种新的colormap,颜色从赤,橙,白,蓝,紫依次传递的话(如下图),应该怎么做?
这就要用到matlab的colormapEditor了。
如下图:
点击figrue窗口的Edit-colormap
出现colormapEditor窗口:
我们可以利用这个窗口直接设置自定义colormap。
colormapEditor中有是一个色标尺,色标尺下方有一些滑块,其中两端的矩形滑块是固定的,不能删除;而中间的矩形+三角形滑块是可以添加,删除,或滑动的。
在色标尺低端单击鼠标左键添加,选择某块滑块按Deletei键删除,鼠标按住某个滑块可左右滑动。
为了达到上述所说的“颜色从赤,橙,白,蓝,紫依次传递”的效果,我们先把中间的两个矩形+三角形滑块删除,如下图:
由于上一张图colormap的两端都是红色,所以中间两块滑块删除后整个colormap只剩下红色一种颜色了。
我们先从白色添加起,标尺上一共有64个格,为了左右平衡,我们先挑中间两格添加白色,具体步骤为:
1、点击标尺中间色格的下方,出现滑块(如下图)。
2、双击出现的滑块,出现颜色选择窗口,选择白色(如下图)。
选完后图像就变成下面这样了:
相同的方法选择“赤,橙,蓝,紫”,如下图:
但这时我们发现colormap并不能如我们所愿,因为中间出现了黄色跟绿色。
我们注意在colormapEditor中有个Interpolatingcolorspace选项,由于刚刚我们是以colormap(hsv)为根本的,所以这里的颜色插值方式是hsv的,我们这是应该选择RGB。
如下图:
好了,大功告成。
下面就是要保存自己设置的colormap以便今后画图时可以直接用了。
在命令传控输入:
mycolor=colormap;%mycolor名称任意
savemycolormycolor;
下次画图时,只要先loadmycolor;再输入colormap(mycolor)就可以直接用这个colorbar了。
还有一种colorbar不是渐变的,如下图:
这种colorbar的设置方式也大同小异。
图中colorbar有5中颜色,那么我们就在colormapEditor中将头五种颜色设成图中颜色,再将其余颜色设成白色(不一定白色,其它颜色也可,主要是为了方便辨认)
这是我们在命令窗口中输入“colormap”,就会出现一个64*3的数组。
注意的数组前五行就代表上面5种颜色,其余[111]代表白色。
这是只要把前5行复制出来,写入新数组中。
再“savemycolor5mycolor1”保存起来。
这是在命令窗口输入“colormap(mycolor5)”就出现下图了:
大功告成!
!
!
第一次写matlab教学,有点啰嗦,希望能够帮到大家!
!