【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


目录
相关文章
|
2月前
|
索引
matlab--------矩阵重构,重新排列的相关函数说明
matlab--------矩阵重构,重新排列的相关函数说明
81 0
matlab--------矩阵重构,重新排列的相关函数说明
|
2月前
|
索引
matlab日常学习-------矩阵
matlab日常学习-------矩阵
44 0
|
11天前
|
数据处理
MATLAB 论文绘图规范标注
MATLAB 论文绘图规范标注
|
2月前
|
移动开发
MATLAB | SCI绘图配色第1期 | 点线图 | 刺客伍六七之暗影宿命第1集
MATLAB | SCI绘图配色第1期 | 点线图 | 刺客伍六七之暗影宿命第1集
99 0
|
2月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
2月前
|
数据安全/隐私保护
matlab程序, 脉冲波合成与提取,滑冲效应、方向性效应,自定义脉冲模型,提取脉冲波
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
2月前
|
数据安全/隐私保护
matlab生成拟合规范谱的人工波,生成人工地震波,拟合自定义加速度反应谱,生成人工地震波
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
2月前
|
数据安全/隐私保护
matlab批量计算地震加速度反应谱、速度谱、位移谱,伪速度谱、伪加速度谱;反应谱对比图
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
2月前
|
算法 计算机视觉
基于表面法线法的二维人脸图构建三维人脸模型matlab仿真
该内容概述了一个使用MATLAB2022a的二维人脸图像三维重建算法。首先,通过人脸检测和对齐,然后运用深度信息估计技术(如Shape from Shading)获取表面法线。接着,结合预训练的三维人脸模型库和二维关键点,通过迭代优化和全局优化构建三维模型。核心程序涉及图像处理、光源方向转换、反射率和表面法线计算,最终重构高度图并显示结果。该方法依赖多视角图像,单幅图像重建可能存在挑战。
|
2月前
|
Serverless 索引
matlab--------矩阵的运算
matlab--------矩阵的运算
25 1
matlab--------矩阵的运算

热门文章

最新文章