Учитывая следующий код для построения этой фигуры, code1
строит эту фигуру, используя карту цветов, определенную из функции get_my_color_map
. Пока все хорошо, кроме распределения галочки на цветовой полосе. Я не хочу, чтобы это отображалось линейно. Я хочу, чтобы цветовые метки распределялись с эквивалентным пространством между членами этой матрицы:
[-40 -30 -20 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5]
Я просмотрел это, однако понятия не имею, как решить проблему в моем собственном случае.
function code1()
[x,y] = meshgrid([-8:.2:8]);
Z = (4+x-0.5*x.*x).*1./(2+sin(-(x.^2+y.^2)/(4*pi)));
C=Z;
surf(x,y,Z,C)
ticks = [-40 -30 -20 -10 -9:5];
mycolormap=get_my_color_map(min(ticks),max(ticks));
colormap(mycolormap);
hC=colorbar;
ticks_string=strread(num2str(ticks),'%s');
set(hC,'YTick',ticks);
set(hC,'YTick',ticks);
set(hC,'ylim',[min(ticks) max(ticks)]);
end
function [ mycolormap ] = get_my_color_map(blue_min,red_max)
mycolormap=[];
for k= blue_min:-1 % add blue
if k>=-10
blue=-k/10.0*0.7;
else
blue=0.7+(-k-10.0)/(-10-blue_min)*0.3;
end
mycolormap=[mycolormap; 1-blue, 1-blue, 1]; %#ok<AGROW>
end
mycolormap=[mycolormap; 1, 1, 1]; % add white
for k= +1:red_max % add red
red=k/red_max;
mycolormap=[mycolormap; 1, 1-red, 1-red]; %#ok<AGROW>
end
end
ticks = [-40 -30 -20 -10 -9:5];
- person shamalaia   schedule 16.03.2016ticks=[-40 -30 -20 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5]
- person shamalaia   schedule 16.03.2016ticks = [-40 -30 -20 -10 -9:5]
и видите результаты? - person ar2015   schedule 17.03.2016