我将数据标准化为 0 和 1 之间的连续值。是否可以制作彩色地图以突出显示一个特定值?在这种情况下,我希望一个的最大值是自定义颜色,其余的使用普通颜色贴图。我已经尝试通过附加所需的颜色来编辑颜色图,但该图也将此颜色用于接近 1 的值。任何建议表示赞赏。
function cplotdemo
clc; close all; clear all;
DATA = peaks;
DATA = (DATA - min(DATA(:))) / ( max(DATA(:)) - min(DATA(:)) );
figure,
contourf(DATA)
colormap(jet2)
colorbar
function J = jet2(m)
if nargin < 1
m = size(get(gcf,'colormap'),1);
end
n = ceil(m/4);
u = [(1:1:n)/n ones(1,n-1) (n:-1:1)/n]';
g = ceil(n/2) - (mod(m,4)==1) + (1:length(u))';
r = g + n;
b = g - n;
g(g>m) = [];
r(r>m) = [];
b(b<1) = [];
J = zeros(m+1,3);
J(r,1) = u(1:length(r));
J(g,2) = u(1:length(g));
J(b,3) = u(end-length(b)+1:end);
J(end,:)=[(256/2)/255,(0)/255,(256/2)/255];
我现在认为这是由于轮廓的工作方式而发生的。对于发布的示例,应该只有值等于一,这就是我想要使用自定义颜色的值。