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

标签 matlab

我有一个高于和低于零的 trisurf 图。如何更改颜色图,以便对颜色进行编码,使表面大于零的部分为蓝色,小于零的部分为红色?

最佳答案

您可以自己构建这样的颜色图。举个例子:

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

关于matlab - 如何更改 trisurf 图的颜色图以更好地区分正值/负值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3956754/

相关文章:

r - 使用 matlab 计算多变量情况下的偏正态分布

matlab - Shading 命令在 MATLAB 和 Octave 中产生不同的结果

matlab - 如何使图像足够大以避免刻度标签重叠?

database - 将 Matlab float 组插入 postgresql float[] 列

matlab - 在 MATLAB 中使用 repmat 复制 Kronecker 张量

matlab - 如何在 semilogx 图中绘制 x=0?

maps - 在 Matlab GUI 中设置 map 轴的父级

matlab - 为什么这个简单易学的示例会破坏 AdaBoost?

excel - 分析循环测试数据的最佳程序

心脏跳动的Matlab视频处理。代码补充