matlab中,每个figure都有(而且仅有)一个colormap,翻译过来就是色图。
COLORMAP(MAP) 用MAP矩阵映射当前图形的色图。
   COLORMAP('default')  默认的设置是 JET.
    MAP = COLORMAP 获得当前色图矩阵.
   COLORMAP(AX,...) 应用色图到AX坐标对应的图形,而非当前图形。

MAP实际上是一个mx3的矩阵,每一行的3个值都为0-1之间数,分别代表颜色组成的rgb值,
[1 0 0] 代表红色,[0 1 0]代表绿色,[0 0 1]代表蓝色。系统自带了一些colormap,如:winter、autumn等。输入winter,就可以看到它是一个64x3的矩阵。用户可以自定义自己的colormap,而且不一定是64维的。
[0 0 0] is black, [1 1 1] is white,
[1 0 0] is pure red, [.5 .5 .5] is gray, and
[127/255 1 212/255] is aquamarine.
   
 那么颜色在fill或patch,SURFACE等函数中到底是如何显示的呢?本质上,是把具体的颜色变成colormap中的相应index,也就是行数。这个过程叫做换算映射:将指定的数值颜色向量(矩阵)C,映射到对应的颜色。颜色矩阵C的数值范围为[Cmin, Cmax], Cmin 和Cmax的数值或者为
 min(min(C)) max(max(C)),也可以在CAXIS中设置。
在matlab中,图形窗的属性'CdataMapping‘缺省设置值为'scaled',也就是线性的映射。
Cmin对应的值映射到colormap的第一行,Cmax对应的值映射到colormap的最后一行。
映射过程如下:
首先,需要根据caxis取得Cmin和Cmax两个变量(默认值为0和1),画图时如果指定了数值颜色向量(矩阵)C,Cmin和Cmax自动设置为C中的最大值和最小值。当你想控制时,可以自定义。比如将Cmax减小,这样将把所有大于Cmax的C值,全部都映射到同一个颜色(colormap 中index最大的行代表的颜色)。
根据Cij在Cmin和Cmax之间的比例关系,确定对应的颜色的index,默认为线性映射。
也就是说,当制定了数值颜色向量(矩阵)C之后画图,图中颜色的使用范围会自动占满整个颜色范围!
实例:
clc;
clear all;
x=[0 1 1 0];
y=[0 0 1 1];  %定义四个点 [0 0] [1 0] [1 1] [0 1]
H_F=fill(x,y,[0 0.1 0.2 0.6]);  %定义四个点的C值

row_cmap = 15;  %定义色图矩阵的行数
color_map1=zeros(row_cmap,3);  %定义色图矩阵
color_r = 0:1/(row_cmap-1):1; 
color_g = 0:1/(row_cmap-1):1;
color_b = 0:1/(row_cmap-1):1;
color_map1(:,1) = color_r; 
color_map1(:,2) = color_g;
colormap(color_map1);
colorbar;

%本例中颜色从[0 0 0] 变化到[1 1 0]
%增加row_cmap的值,如变化到100,则可看到颜色的渐变,而非跳跃型变化。

MATLAB colormap函数详解相关推荐

  1. Matlab fplot函数详解

    Matlab之fplot函数详解 功能:绘制表达式或函数 语法: fplot(f) fplot(f,xinterval) fplot(funx,funy) fplot(funx,funy,tinter ...

  2. mapminmax函数 matlab,matlab mapminmax函数详解

    几个要说明的函数接口: [Y,PS] = mapminmax(X) [Y,PS] = mapminmax(X,FP) Y = mapminmax('apply',X,PS) X = mapminmax ...

  3. Matlab xcorr函数详解

    Matlab提供了计算互相关和自相关的函数xcorr函数 1.使用方法 c = xcorr(x,y) c = xcorr(x) c = xcorr(x,y,'option') c = xcorr(x, ...

  4. matlab padarray函数详解

    本文来自于matlab帮助页面,命令:help padarray 语法: B = padarray(A,padsize) B = padarray(A,padsize,padval) B = pada ...

  5. MATLAB 匿名函数详解(超级全面)

    匿名函数与之相对的即为需要.m文件存储的命名函数,匿名函数可以在任意地方定义(包含命令行窗口),且由于没有固定的名称,函数是可以像变量一样被传递的.以下详细讲解一下MATLAB中不可或缺的一部分具体能 ...

  6. matlab find函数详解

    Find 这个函数用处也挺大的,这几天看很多程序都见到这一函数,今天要好好给阐述,了解下 这个函数是为了找到矩阵或者是数组,向量中的非零元素.下面一大段英文没耐心看.看看例子就行了. 第一个用法是 n ...

  7. matlab cov函数详解

    matlab简单的说了以下 并没有跟出详细的计算过程 首先参考一篇博客写的很好 下面我举一个例子验证其具体的过程 下面是输入数据 上面是结果 A矩阵的第一列是1,2 第二列是3,5 则第一列的平均值是 ...

  8. Matlab textread函数详解

    转载来自:http://blog.sina.com.cn/s/blog_618af1950100k926.html 实际应用中经常要读取txt文件,这个时候就需要用到强大的textread函数. 它的 ...

  9. Matlab parfor函数详解

    在工作线程上并行执行for循环迭代 1.简介 parfor loopVar = initVal:endVal;语句;end 在并行池中的worker上并行执行for循环迭代. MATLAB®在init ...

  10. MATLAB filter2 函数详解

    1.fftshift fftshift(M),是作用是将,M矩阵的左右对换,上下对换.. 2.filter2(B,X) B为滤波器.X为要滤波的数据,这里将B放在X上,一个一个移动进行模板滤波. 可以 ...

最新文章

  1. 给女友讲讲设计模式——适配器模式(JAVA实例)5
  2. Python变量的作用域的使用
  3. 《dojo 边学边用》(01), 初识dojo,dojo简介和框架概览
  4. MVC把表格导出到Excel
  5. windows下如何访问linux下的oracle数据库
  6. 分类素材(part4)--大话Python机器学习(上)
  7. jQuery 事件函数传参异常identifier starts immediately after numeric literal
  8. jsp 页面之${fn:}内置函数列表
  9. OpenBSD 现已支持 USB 3.0
  10. 深入理解SpringBoot启动机制(starter机制)
  11. 统计学习导论(ISLR) 第四章分类算法课后习题
  12. java开发实训报告范文_java实训报告总结
  13. 2021年茶艺师(初级)考试内容及茶艺师(初级)考试总结
  14. 【实用教程】本地blast使用及简单python脚本辅助
  15. Gartner:VPT技术原理 ——如何确定网络攻击面上的风险优先级
  16. 谷歌浏览器——新建下载任务
  17. 【备品备件】入库流程--采购入库--0180363009
  18. android系统文件重命名文件格式,安卓手机上文件的后缀名怎么改?
  19. Oracle 恢复dmp文件到数据库表中(超大DMP) 【数据系列 3】
  20. 【LaTex的PPT模板集】- (亲测有效)在线PPT模板及其使用方法,overleaf与TeXstudio支持中文方法

热门文章

  1. Update Strategy小记
  2. 房价,经济转型,技术创新
  3. iOS UITextView 光标位置
  4. 几种常用的显示器分辨率
  5. VJ 1385 盗窃-月之眼
  6. java星号心形代码_c语言实现星号爱心的代码
  7. YYC优雅草松鼠聚合直播系统·前端视频模块显示空白-解决办法-视频上传处理方法
  8. C++安装失败解决办法
  9. SpringCloud Gateway gatewayRequestUrl is missing
  10. python使用循环打印九九乘法表python中的99乘法表