文章目录

  • 一、colormap 矩阵分析
  • 二、自定义 colormap 颜色图
    • 1、生成 colormap 矩阵
    • 2、代码示例

一、colormap 矩阵分析


imagesc 函数参考文档 : https://ww2.mathworks.cn/help/matlab/ref/imagesc.html

colormap 颜色图本质是一个定义好的矩阵 , 矩阵中每个元素都对应一个颜色值 , 这些值最小值到最大值对应着一组不同的颜色渐变值 ;

打印颜色图的具体的信息 :

代码 :

% 查看颜色图颜色值
colorbar;% 打印颜色图的值
h = colormap(cool)

命令窗口打印结果 : 每行的内容是 R G B 三个 0 ~ 1 之间的值 , 有 646464 行值 ;

>> Untitled10h =0    1.0000    1.00000.0159    0.9841    1.00000.0317    0.9683    1.00000.0476    0.9524    1.00000.0635    0.9365    1.00000.0794    0.9206    1.00000.0952    0.9048    1.00000.1111    0.8889    1.00000.1270    0.8730    1.00000.1429    0.8571    1.00000.1587    0.8413    1.00000.1746    0.8254    1.00000.1905    0.8095    1.00000.2063    0.7937    1.00000.2222    0.7778    1.00000.2381    0.7619    1.00000.2540    0.7460    1.00000.2698    0.7302    1.00000.2857    0.7143    1.00000.3016    0.6984    1.00000.3175    0.6825    1.00000.3333    0.6667    1.00000.3492    0.6508    1.00000.3651    0.6349    1.00000.3810    0.6190    1.00000.3968    0.6032    1.00000.4127    0.5873    1.00000.4286    0.5714    1.00000.4444    0.5556    1.00000.4603    0.5397    1.00000.4762    0.5238    1.00000.4921    0.5079    1.00000.5079    0.4921    1.00000.5238    0.4762    1.00000.5397    0.4603    1.00000.5556    0.4444    1.00000.5714    0.4286    1.00000.5873    0.4127    1.00000.6032    0.3968    1.00000.6190    0.3810    1.00000.6349    0.3651    1.00000.6508    0.3492    1.00000.6667    0.3333    1.00000.6825    0.3175    1.00000.6984    0.3016    1.00000.7143    0.2857    1.00000.7302    0.2698    1.00000.7460    0.2540    1.00000.7619    0.2381    1.00000.7778    0.2222    1.00000.7937    0.2063    1.00000.8095    0.1905    1.00000.8254    0.1746    1.00000.8413    0.1587    1.00000.8571    0.1429    1.00000.8730    0.1270    1.00000.8889    0.1111    1.00000.9048    0.0952    1.00000.9206    0.0794    1.00000.9365    0.0635    1.00000.9524    0.0476    1.00000.9683    0.0317    1.00000.9841    0.0159    1.00001.0000         0    1.0000>>

绘图效果 :

二、自定义 colormap 颜色图


1、生成 colormap 矩阵

由上面打印的 colormap 颜色图矩阵数据可知 , 颜色图由 64×364 \times 364×3 矩阵组成 , 有 646464 行 , 333 列 , 每行代表一个颜色值 ;

这里生成一个绿色的颜色图矩阵 , 每行的 R G B 数据中 , 只有 G 是大于 000 的数值 , 其它两个数值都为 000 ;

绿色 G 的变化是从 000 到 111 , 分成 646464 份 , 均匀进行变化 ; 使用 linspace 生成该向量 ;

linspace(0, 1, 64)

生成矩阵时 , 为了方便定义 , 这里我们先生成一个 333 行 646464 列的矩阵 , 然后转置得到一个 64×364 \times 364×3 的矩阵 ;

% 3 x 64 矩阵 , 3 行 , 64 列
green_colormap_3x64 = [linspace(0, 0, 64) ; linspace(0, 1, 64) ; linspace(0, 0, 64)];% 转置矩阵 , 3 x 64 矩阵转置为 64 x 3 矩阵
green_colormap_64x3 = green_colormap';

这里转置之后的 green_colormap_64x3 就可以作为颜色图 colormap 使用 ;

2、代码示例

代码示例 :

% 生成一个 10 x 3 的矩阵
x = [1:10; 3:12; 5:14];% 3 x 64 矩阵 , 3 行 , 64 列
green_colormap_3x64 = [linspace(0, 0, 64) ; linspace(0, 1, 64) ; linspace(0, 0, 64)];% 转置矩阵 , 3 x 64 矩阵转置为 64 x 3 矩阵
green_colormap_64x3 = green_colormap';% 使用 10 x 3 的颜色网格表示 x 10 x 3 的矩阵
imagesc(x);% 查看颜色图颜色值
colorbar;% 设置自定义的颜色图
colormap(green_colormap_64x3);% 打印颜色图的值 green_colormap_64x3
green_colormap_64x3

运行结果 :

命令行窗口打印结果 : 打印的是生成的 64×364 \times 364×3 的 colormap 颜色图矩阵

>> Untitled10green_colormap_64x3 =0    0.5000         00    0.5079         00    0.5159         00    0.5238         00    0.5317         00    0.5397         00    0.5476         00    0.5556         00    0.5635         00    0.5714         00    0.5794         00    0.5873         00    0.5952         00    0.6032         00    0.6111         00    0.6190         00    0.6270         00    0.6349         00    0.6429         00    0.6508         00    0.6587         00    0.6667         00    0.6746         00    0.6825         00    0.6905         00    0.6984         00    0.7063         00    0.7143         00    0.7222         00    0.7302         00    0.7381         00    0.7460         00    0.7540         00    0.7619         00    0.7698         00    0.7778         00    0.7857         00    0.7937         00    0.8016         00    0.8095         00    0.8175         00    0.8254         00    0.8333         00    0.8413         00    0.8492         00    0.8571         00    0.8651         00    0.8730         00    0.8810         00    0.8889         00    0.8968         00    0.9048         00    0.9127         00    0.9206         00    0.9286         00    0.9365         00    0.9444         00    0.9524         00    0.9603         00    0.9683         00    0.9762         00    0.9841         00    0.9921         00    1.0000         0>>

完整过程 :

【MATLAB】进阶绘图 ( colormap 颜色图矩阵分析 | 自定义 colormap 颜色图 | 生成 64 x 3 的 colormap 颜色图矩阵 )相关推荐

  1. Matlab进阶绘图第1期—山脊图/嵴线图/峰峦图

    山脊图又称峰峦图.嵴线图,英文常称为Ridgeline Plot.Joy Plot. 山脊图一般由共享X轴的多组彼此重叠的填充折线图组成,其常用于对不同组数据间的分布情况进行比较,在一些顶级期刊中也能 ...

  2. Matlab进阶绘图第4期—三维堆叠柱状图/三维堆积图

    三维堆叠柱状图是堆叠图(见Matlab论文插图绘制模板第6期)在三维空间的拓展. 三维堆叠柱状图不仅可以直观地展示各部分总数的对比,还能够看出各部分在总数中所占的比例,从而使数据更加形像. 当然,三维 ...

  3. Matlab进阶绘图第19期—三角气泡热图

    三角气泡热图,顾名思义,就是仅保留气泡热图数据矩阵的上三角或下三角部分. 三角气泡热图简单明了,通过不同颜色.不同大小的圆形表示数据的大小,可以更加直观地对矩阵数据进行可视化表达. 本文使用自制的tr ...

  4. Matlab进阶绘图第6期—雷达图/蜘蛛图/星图

    雷达图(Radar Chart),又称星图.蜘蛛图.蜘蛛网图.网络图.Kiviat图等,是一种以从同一点开始的轴上表示的三个以上变量的二维图表的形式,来显示多变量数据的图形方法. 雷达图可以直观地对多 ...

  5. Matlab进阶绘图第5期—风玫瑰图(WindRose)

    风玫瑰图(Wind rose diagram)是一种特殊的极坐标堆叠图/统计直方图,其能够直观地表示某个地区一段时期内风向.风速的发生频率. 风玫瑰图在建筑规划.环保.风力发电.消防.石油站设计.海洋 ...

  6. matlab 进阶绘图:图片保存,极坐标绘图,函数绘图,等高线地图,三维条形图,三维散点图,gif 绘图

    本文所包含的绘图方式: 极坐标绘图,函数绘图,等高线地图,三维条形图,三维散点图,gif 绘图 1 常用命令 hold on; % 持续绘图 hold off; 1.1 标注 xlabel(''); ...

  7. Matlab进阶绘图第8期—聚类/分类散点图

    聚类/分类散点图是一种特殊的特征渲染散点图. 聚类/分类散点图通过一定的聚类.分类方法,将特征相近的离散点划分到同一个类别中,进而将每个离散点赋予类别标签,并利用不同的颜色对不同的类别进行区分. 本文 ...

  8. android 分时图x轴宽度,一步一步教你写股票走势图——分时图二(自定义xy轴)...

    目录 一步一步教你写股票走势图--分时图一(概述) 一步一步教你写股票走势图--分时图二(自定义xy轴) 一步一步教你写股票走势图--分时图三(对齐图表.自定义柱状图高亮) 一步一步教你写股票走势图- ...

  9. MATLAB教学_06进阶绘图

    本文学习视频:https://www.bilibili.com/video/av68228488?p=6 本文学习内容: 进阶2D绘图 绘图空间 3D绘图 semilogx(x,y); %x轴取对数 ...

最新文章

  1. jQuery / jQuery mvc plugin
  2. Rouche Theorem(Stein复分析)
  3. 数据库服务器 之 在Linux下使用perl通过unixODBC连接SQLServer2000
  4. struts2控制标签(一)选择标签,iterator标签,append标签
  5. HihoCoder - 1591 锦标赛(最大费用最大流)
  6. 八皇后(信息学奥赛一本通-T1214)
  7. 确认oracle是否繁忙,Oracle系统繁忙时,快速定位
  8. 拓端tecdat|R语言自定义两种统计量度:平均值和中位数,何时去使用?
  9. 数据包接收系列 — IP协议处理流程(二)
  10. mysql 分库分表 ~ ShardingSphere生态圈
  11. C语言 --- sizeof() 7种使用详解
  12. 好的技术领导与差的技术领导,千万不要对号入座,你会死的很惨!
  13. WPS文件转Excel文件怎么转?建议看看这些方法
  14. iOS开发接入腾讯云通信简略笔记
  15. 如何做一个简单的XX(学生/图书馆)管理系统(二)
  16. 群控系统服务器掉线,手机群控系统安装调试问题汇总以及解决办法
  17. Jenkins从svn获取代码报”E170001“异常问题解决
  18. Oracle 同义词synonym创建和删除
  19. 优启通怎么重装系统win10_i优系统教你怎样把WIN10重装回WIN7(详细版)
  20. Python list、tuple、dict区别

热门文章

  1. Python网络编程2:创建套接字和套接字对象的内建方法
  2. 动手完善个性化弹出提示框的过程及乐趣
  3. C及C++中typedef的简单使用指南
  4. hibernate学习(4)
  5. ProtoBuffer由.proto文件生成.cc/.h
  6. javascript动画函数封装(升级版)
  7. Nginx的安装和配置文件详细说明
  8. c#设置软件开机自动运行,修改注册表
  9. 联想员工亲历联想大裁员:公司不是家
  10. python update()