如何更改trisurf图的色彩图以更好地区分正/负值

时间:2010-10-18 05:21:29

标签: matlab

我有一个高于和低于零的trisurf情节。如何更改色彩图,使我的色码代码使得大于零的表面部分为蓝色,零以下的部分为红色?

1 个答案:

答案 0 :(得分:4)

您可以自己构建这样的色彩映射表。举个例子:

r = [1 0 0];       %# start
w = [.9 .9 .9];    %# middle
b = [0 0 1];       %# end

%# colormap of size 64-by-3, ranging from red -> white -> blue
c1 = zeros(32,3); c2 = zeros(32,3);
for i=1:3
    c1(:,i) = linspace(r(i), w(i), 32);
    c2(:,i) = linspace(w(i), b(i), 32);
end
c = [c1(1:end-1,:);c2];

surf(peaks), shading interp
caxis([-8 8]), colormap(c), colorbar

alt text