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

简介: 【MATLAB】进阶绘图 ( colormap 颜色图矩阵分析 | 自定义 colormap 颜色图 | 生成 64 x 3 的 colormap 颜色图矩阵 )

文章目录

一、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 6464 行值 ;


>> 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
>>


绘图效果 :


image.png






二、自定义 colormap 颜色图




1、生成 colormap 矩阵


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


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


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


linspace(0, 1, 64)


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



运行结果 :


image.png



命令行窗口打印结果 : 打印的是生成的 64 × 3 64 \times 364×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
>>


完整过程 :

image.png


目录
相关文章
|
7月前
|
索引
matlab--------矩阵重构,重新排列的相关函数说明
matlab--------矩阵重构,重新排列的相关函数说明
191 0
matlab--------矩阵重构,重新排列的相关函数说明
|
7月前
|
索引
matlab日常学习-------矩阵
matlab日常学习-------矩阵
76 0
|
2月前
|
Serverless
MATLAB中的矩阵与向量运算
【10月更文挑战第2天】本文全面介绍了MATLAB中的矩阵与向量运算,包括基本操作、加减乘除、转置、逆矩阵、行列式及各种矩阵分解方法。通过丰富的代码示例,展示了如何利用矩阵运算解决线性方程组、最小二乘法拟合、动态系统模拟和电路分析等问题。掌握这些运算不仅提升编程效率,还能在工程计算和科学研究中发挥重要作用。
86 1
|
3月前
|
监控 算法 安全
基于颜色模型和边缘检测的火焰识别FPGA实现,包含testbench和matlab验证程序
本项目展示了基于FPGA的火焰识别算法,可在多种应用场景中实时检测火焰。通过颜色模型与边缘检测技术,结合HSV和YCbCr颜色空间,高效提取火焰特征。使用Vivado 2019.2和Matlab 2022a实现算法,并提供仿真结果与测试样本。FPGA平台充分发挥并行处理优势,实现低延迟高吞吐量的火焰检测。项目包含完整代码及操作视频说明。
|
6月前
|
机器学习/深度学习 存储 移动开发
MATLAB数据类型和运算符+矩阵创建
MATLAB数据类型和运算符+矩阵创建
65 1
|
7月前
|
Serverless 索引
matlab--------矩阵的运算
matlab--------矩阵的运算
67 1
matlab--------矩阵的运算
|
7月前
【数值分析】用幂法计算矩阵的主特征值和对应的特征向量(附matlab代码)
【数值分析】用幂法计算矩阵的主特征值和对应的特征向量(附matlab代码)
|
7月前
|
存储 JavaScript
MATLAB实战 | 求矩阵指数、预定义变量i和j的含义以及梯形积分法
MATLAB实战 | 求矩阵指数、预定义变量i和j的含义以及梯形积分法
177 0
MATLAB实战 | 求矩阵指数、预定义变量i和j的含义以及梯形积分法
|
7月前
|
存储 人工智能 资源调度
Matlab矩阵和数组的操作
Matlab矩阵和数组的操作
165 0
|
7月前
|
算法
MATLAB求解矩阵特征值的六种方法
关于这个特征值的求解一共六种方法 幂法 反幂法 QR方法 对称QR方法 jacobi方法 二分法
845 0