我有一个高于和低于零的trisurf情节。如何更改色彩图,使我的色码代码使得大于零的表面部分为蓝色,零以下的部分为红色?
答案 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