【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 之間的值 , 有 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>>完整過程 :
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的【MATLAB】进阶绘图 ( colormap 颜色图矩阵分析 | 自定义 colormap 颜色图 | 生成 64 x 3 的 colormap 颜色图矩阵 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Android 安全】使用 360 加
- 下一篇: 【MATLAB】三维图形绘制 ( 三维平