我想有一个如下面的曲线图,但有一个适当的颜色条。如何在MATLAB中将自定义颜色范围与颜色条结合起来?
这是我的代码:
[X,Y,Z] = peaks(30);
[maxval dummy] = max(Z(:));
[minval dummy] = min(Z(:));
crange = 1.5;
% red, yellow, green
cmap = [1 0 0; 1 1 0; 0 1 0];
colormap(cmap);
colors = zeros(size(Z));
colors(Z <= -crange) = 1; % red (1)
colors(Z > -crange & Z < crange) = 2; % yellow (2)
colors(Z >= crange) = 3; % green (3)
surf(X,Y,Z, colors);
axis([-3 3 -3 3 -10 10]);
%cbh = colorbar('YGrid','on');
%caxis([minval-0.1 maxval+0.1]);
%set(cbh,'YTick',[minval -crange crange maxval]);
到目前为止,我没有运气在增加,其中的颜色(绿,黄,红)根据我的自定义范围内对齐的彩条(绿[8 ... 1.5],黄色[1.5 ... -1.5],红色[-1.5 ... -6.4])。相反,当我取消注释最后三行 时,会出现线性对齐颜色的颜色条,并且我的绘图中的颜色会根据颜色条对齐而不是我自定义的范围。
现在,我想有是,在彩条的颜色搭配我的自定义蜱和情节看起来像在第一张照片。