一、知识点
1、nargin
MATLAB中nargin用来判断函数输入参数的个数,根据参数的个数定义具体的处理。
2、matlab中颜色映射
colormap:MATLAB中的每个图形都有自己的colormap,其是m*3的矩阵,其中每一行代表的是一种颜色。当我们在画图的时候可以自己制定颜色矩阵,然后按照matlab的特定的映射方式将矩阵的值映射为对应的颜色。
映射的方式:matlab颜色映射方式
颜色对照表:常见颜色对照表
3、applyhatch_pluC
作用:对图形进行填充,详见官网
官网上的例子:
data = reshape([randperm(8) randperm(8) randperm(8)],4,6);
image(data);
im_hatch = applyhatch_plusC(1,'|-+.\/x/','rgbcmykr',colormap);
分析:
(1)、randperm(8)函数产生8个数,是1到8的随机排列
(2)、得到24个数的矩阵,改为4*6
(3)、根据image,其矩阵的值就是该位置的颜色值,根据image的颜色映射得到其结果图:
(4)、之后调用applyhatch_plusC函数,因image函数就是通过数值显示不同的颜色,而我们通过applyhatch_plusC函数也是用图形来表示不同的数值。这里的数值一共是8,所以我们在定义的时候pattern的种类和颜色数目都是8,同时需要将colormap作为参数传入,这样才能根据具体的颜色映射方法来确定哪些块的图像应该是相同的。调用函数之后的结果为:
问题:为什么在图像处理的时候,gcf可以使用1代替,在官方文档的例子中很多都直接使用1而不是gcf?
二、总结
填充和颜色对照规则:根据基本的颜色,颜色相同对应的pattern是相同的,所以我们可以通过设置原图的颜色,使得需要的图形对应的填充相同。
matlab条形图颜色改变的方式:官方文档
(1)、将’FaceColor’属性设置为’flat’
(2)、通过CData对颜色进行修改
(3)、使用applyhatch_plusC函数的时候,颜色对应的顺序是按照行来进行
图示: