以下のような表面プロットが欲しいのですが、適切なカラーバーが付いています。
これは私のコードです:
[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])。代わりに、最後の3行のコメントを外すと、線形に整列された色のカラーバーが表示され、プロットの色はカスタム範囲ではなくカラーバーに従って整列されます。
さて、私が欲しいのは、カラーバーの色が私のカスタムティックと一致し、プロットが最初の写真のように見えることです。