【MATLAB】进阶绘图 ( colormap 颜色图矩阵分析 您所在的位置:网站首页 同色调色彩变化图片 【MATLAB】进阶绘图 ( colormap 颜色图矩阵分析

【MATLAB】进阶绘图 ( colormap 颜色图矩阵分析

2024-07-06 23:16| 来源: 网络整理| 查看: 265

文章目录 一、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 之间的值 , 有 64 64 64 行值 ;

>> Untitled10 h = 0 1.0000 1.0000 0.0159 0.9841 1.0000 0.0317 0.9683 1.0000 0.0476 0.9524 1.0000 0.0635 0.9365 1.0000 0.0794 0.9206 1.0000 0.0952 0.9048 1.0000 0.1111 0.8889 1.0000 0.1270 0.8730 1.0000 0.1429 0.8571 1.0000 0.1587 0.8413 1.0000 0.1746 0.8254 1.0000 0.1905 0.8095 1.0000 0.2063 0.7937 1.0000 0.2222 0.7778 1.0000 0.2381 0.7619 1.0000 0.2540 0.7460 1.0000 0.2698 0.7302 1.0000 0.2857 0.7143 1.0000 0.3016 0.6984 1.0000 0.3175 0.6825 1.0000 0.3333 0.6667 1.0000 0.3492 0.6508 1.0000 0.3651 0.6349 1.0000 0.3810 0.6190 1.0000 0.3968 0.6032 1.0000 0.4127 0.5873 1.0000 0.4286 0.5714 1.0000 0.4444 0.5556 1.0000 0.4603 0.5397 1.0000 0.4762 0.5238 1.0000 0.4921 0.5079 1.0000 0.5079 0.4921 1.0000 0.5238 0.4762 1.0000 0.5397 0.4603 1.0000 0.5556 0.4444 1.0000 0.5714 0.4286 1.0000 0.5873 0.4127 1.0000 0.6032 0.3968 1.0000 0.6190 0.3810 1.0000 0.6349 0.3651 1.0000 0.6508 0.3492 1.0000 0.6667 0.3333 1.0000 0.6825 0.3175 1.0000 0.6984 0.3016 1.0000 0.7143 0.2857 1.0000 0.7302 0.2698 1.0000 0.7460 0.2540 1.0000 0.7619 0.2381 1.0000 0.7778 0.2222 1.0000 0.7937 0.2063 1.0000 0.8095 0.1905 1.0000 0.8254 0.1746 1.0000 0.8413 0.1587 1.0000 0.8571 0.1429 1.0000 0.8730 0.1270 1.0000 0.8889 0.1111 1.0000 0.9048 0.0952 1.0000 0.9206 0.0794 1.0000 0.9365 0.0635 1.0000 0.9524 0.0476 1.0000 0.9683 0.0317 1.0000 0.9841 0.0159 1.0000 1.0000 0 1.0000 >>

绘图效果 :

在这里插入图片描述

二、自定义 colormap 颜色图 1、生成 colormap 矩阵

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

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

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

linspace(0, 1, 64)

生成矩阵时 , 为了方便定义 , 这里我们先生成一个 3 3 3 行 64 64 64 列的矩阵 , 然后转置得到一个 64 × 3 64 \times 3 64×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 × 3 64 \times 3 64×3 的 colormap 颜色图矩阵

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

完整过程 :

在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有