有很多不同的颜色图,您也可以制作自己的自定义颜色图。使用doc colormap 更详细地查看它们:
如果您使用的是 HSV 颜色图并且只看到蓝色到红色,那是因为您的颜色轴限制使得只有颜色图的那一部分被采样。因此,如果您的数据范围从 0.5 到 1.0,但您将颜色轴设置为 caxis([0.0 1.0]),那么您将只能看到颜色图中的一半颜色。
为了获得您所描述的颜色图,您可以使用此方法指定最小和最大颜色,并创建一个从一种颜色混合到另一种颜色的颜色图。请注意,您必须根据绘图的限制适当地设置颜色轴值(surf 等命令会自动拉伸以包含所有颜色)。
% number of map indices
Nmap = 64;
% colormap from cyan to red
cMin1 = [0 1 1];
cMax1 = [1 0 0];
cMap1 = zeros(Nmap,3);
for i = 1:Nmap;
cMap1(i,:) = cMin1*(Nmap - i)/(Nmap - 1) + cMax1*(i - 1)/(Nmap - 1);
end
% colormap from white to red
cMin2 = [1 1 1];
cMax2 = [1 0 0];
cMap2 = zeros(Nmap,3);
for i = 1:Nmap;
cMap2(i,:) = cMin2*(Nmap - i)/(Nmap - 1) + cMax2*(i - 1)/(Nmap - 1);
end
% make up some data
Z = linspace(0,1,100)'*ones(1,100);
% plot with HSV colormap
figure
surf(Z,'edgealpha',0);
colormap('hsv');
% plot with cyan-to-red colormap
figure
surf(Z,'edgealpha',0);
colormap(cMap1);
% plot with white-to-red colormap
figure
surf(Z,'edgealpha',0);
colormap(cMap2);
应该产生什么: