matlab中,每個figure都有(而且僅有)乙個colormap,翻譯過來就是色圖。
colormap(map) 用map矩陣對映當前圖形的色圖。
colormap('default')
預設的設定是 jet.
map = colormap 獲得當前色圖矩陣.
colormap(ax,...) 應用色圖到ax座標對應的圖形,而非當前圖形。
map實際上是乙個mx3的矩陣,每一行的3個值都為0-1之間數,分別代表顏色組成的rgb值,
[1 0 0] 代表紅色,[0 1 0]代表綠色,[0 0 1]代表藍色。系統自帶了一些colormap,如:winter、autumn等。輸入winter,就可以看到它是乙個64x3的矩陣。使用者可以自定義自己的colormap,而且不一定是64維的。
[0 0 0] is black, [1 1 1] is white,
[1 0 0] is pure red, [.5 .5 .5] is gray, and
[127/255 1 212/255] is aquamarine.
那麼顏色在fill或patch,su***ce等函式中到底是如何顯示的呢?本質上,是把具體的顏色變成colormap中的相應index,也就是行數。這個過程叫做換算對映:將指定的數值顏色向量(矩陣)c,對映到對應的顏色。顏色矩陣c的數值範圍為[cmin, cmax], cmin 和cmax的數值或者為
min(min(c))
max(max(c)),也可以在caxis中設定。
cmin對應的值對映到colormap的第一行,cmax對應的值對映到colormap的最後一行。
對映過程如下:
首先,需要根據caxis取得cmin和cmax兩個變數(預設值為0和1),畫圖時如果指定了數值顏色向量(矩陣)c,cmin和cmax自動設定為c中的最大值和最小值。當你想控制時,可以自定義。比如將cmax減小,這樣將把所有大於cmax的c值,全部都對映到同乙個顏色(colormap 中index最大的行代表的顏色)。
根據cij在cmin和cmax之間的比例關係,確定對應的顏色的index,預設為線性對映。
也就是說,當制定了數值顏色向量(矩陣)c之後畫圖,圖中顏色的使用範圍會自動佔滿整個顏色範圍!
例項:clc;
clear all;
x=[0 1 1 0];
y=[0 0 1 1];
%定義四個點 [0 0] [1 0] [1 1] [0 1]
h_f=fill(x,y,[0 0.1 0.2 0.6]);
%定義四個點的c值
row_cmap = 15;
%定義色圖矩陣的行數
color_map1=zeros(row_cmap,3);
%定義色圖矩陣
color_r = 0:1/(row_cmap-1):1;
color_g = 0:1/(row_cmap-1):1;
color_b = 0:1/(row_cmap-1):1;
color_map1(:,1) = color_r;
color_map1(:,2) = color_g;
colormap(color_map1);
colorbar;
%本例中顏色從[0 0 0] 變化到[1 1 0]
%增加row_cmap的值,如變化到100,則可看到顏色的漸變,而非跳躍型變化。
matlab學習筆記
一致化矩陣 z1 1 2 4 3 4 1 z2 1 2 2 5 6 1 b 0 1 q 3 z concur b,q 向量之和 x1 netsum z1,z2 向量之積 x2 netprod z1,z2 感知器神經網路,完成 或 的計算 err goal 0.001 max epoch 500 x ...
MATLAB學習筆記
1.自由探索之恢復 如果不小心關閉了當前路徑視窗 命令歷史記錄視窗或命令視窗,可以通過選單欄的 desktop 選單中 desktoplayout default 恢復。2.開啟簡單的圖形視窗 在命令視窗中的 後面輸入 funtool 並按回車鍵。3.注釋 命令列中的百分號 起注釋的作用,matla...
matlab學習筆記
最近要做 了,菜鳥也得學習matlab了,也不知道怎麼開始學習,就還是使用例子來學習所有的知識吧。然後遇到的問題在這記下來,也算是做筆記,加深印象吧。1 mat l a b繪製一條引數曲線 x cost sin3t y sintcost cos3t 解答 首先定義t的範圍t 0 pi pi 100 ...