0
我使用pcolor繪製矩陣X,尺寸(286,64)和值從0到20不等。如何將特定顏色設置爲特定範圍,即0-0.5,白色; 0.5-1.0,紅色; 1.0-2.0,橙色,... 15-20,藍色?每次我嘗試使用輪廓和pcolor來完成此操作時,顏色條範圍都不會與刻度線對齊,並且刻度標記會隨着繪圖而變化,即使我在代碼中硬連線它們也是如此。PColor問題 - 如何爲特定範圍設置特定顏色
謝謝?
我使用pcolor繪製矩陣X,尺寸(286,64)和值從0到20不等。如何將特定顏色設置爲特定範圍,即0-0.5,白色; 0.5-1.0,紅色; 1.0-2.0,橙色,... 15-20,藍色?每次我嘗試使用輪廓和pcolor來完成此操作時,顏色條範圍都不會與刻度線對齊,並且刻度標記會隨着繪圖而變化,即使我在代碼中硬連線它們也是如此。PColor問題 - 如何爲特定範圍設置特定顏色
謝謝?
要將顏色指定爲不等距離的範圍,可以手動編輯顏色映射,或將矩陣轉換爲範圍矩陣的索引,然後定義自己的顏色映射。下面是一個簡單的例子:
X = randi([0 20],28,64);
C = zeros(size(X)); % the ranges matrix
color_shift = [0 5 11 12]; % the values where the color changes
for k = 1:numel(color_shift)
C(X>color_shift(k)) = k;
end
% your colormap
cmap = [0.8 0.2 0 % 0 - 5
1 0.5 0 % 5 - 11
0.5 0 0.5 % 11 - 12
0.3 0.3 1]; % 12 - 20
pcolor(C)
colormap(cmap)
ch = colorbar;
% setting the ticks on the colorbar:
ch.Ticks = 0:numel(color_shift);
ch.TickLabels = [color_shift max(X(:))];
你能共享一個最小的工作的例子嗎? – willpower2727