цветовая панель журнала sacle: как установить галочки?

#matlab #matlab-figure

Вопрос:

Я хочу, чтобы галочки на цветовой панели были в масштабе журнала, с простыми читаемыми галочками: 2 3 4 5 6 7 8 9 10 20 30 (и не только «10^0», «10^1»);

например, я делаю:

 x = linspace(0,0.9); y=logspace(-1,1); [X,Y] = meshgrid(x,y); Z = 220 *sqrt((1-X).*Y); %just random function(x,y) [M,c]= contourf(X,Y,Z,100);  c.LineColor = 'none';  set(gca,'ColorScale','log')  cl=colorbar; ylabel(cl, 'color') cl.Ticks=[ 2 3 4 5 6 7 8 9 10 20 30]; cl.TickLabels = num2cell([ 2 3 4 5 6 7 8 9 10 20 30]);  

Это не работает таким образом. Как это сделать?

Ответ №1:

Ваш код работает хорошо и так, как ожидалось. Если вы проверите свою цветовую полосу, нижнее предельное значение будет равно 22, и поэтому вы увидите только последнюю метку.

 x = linspace(0,0.9); y=logspace(-1,1); [X,Y] = meshgrid(x,y); Z = 220 *sqrt((1-X).*Y); %just random function(x,y) [M,c]= contourf(X,Y,Z,100); c.LineColor = 'none'; set(gca,'ColorScale','log') cl=colorbar; ylabel(cl, 'color')  cl.Limits=[2 cl.Limits(2)] % change the range  cl.Ticks=[ 2 3 4 5 6 7 8 9 10 20 30]; cl.TickLabels = num2cell([ 2 3 4 5 6 7 8 9 10 20 30]);  

введите описание изображения здесь