2014-02-07 3 views
6

Я пытаюсь создать фигуру в Matlab, подходящую для публикации, и мне нужна помощь с цветной панелью.Указанная цветная панель в Matlab?

Мои данные варьируются от -20 до 30, но я хочу, чтобы цветная панель фокусировалась на -15 до 15, при этом стрелки на каждом конце отображали значения вне этого диапазона.

Я попытался использовать класс «pointyColorbar» (http://www.mathworks.co.uk/matlabcentral/answers/48773), но он не производит требуемый выход. В идеале я хотел бы, чтобы colorbar выглядел так, как показано ниже, но с использованием моей пользовательской цветовой карты.

Может ли кто-нибудь помочь мне с этим? Извините, если я не задал вопрос правильно - я новичок в этом!

enter image description here

В соответствии с просьбой, ниже того, что я в настоящее время для моего Colorbar (CMAP мой собственный цвет на карте):

cmap=precipanomcolourmap(7,7) 
colormap(cmap) 
caxis([-20 30]) 
cb=colorbar('location','southoutside'); 
set(get(cb,'title'),'string','Average annual precipitation anomaly (%)','FontWeight','bold'); 
set(cb,'XTick',[-17.5 -15 -12.5 -10 -7.5 -5 -2.5 0 2.5 5 7.5 10 12.5 15 17.5]); 
xlim(cb,[-17.5 17.5]); 

Это заставляет меня прямоугольное Colorbar ниже моей фигуры в диапазоне от -17.5 до 17,5. Значения вне этого отмечены с использованием того же цвета, что и диапазон +/- 15-17,5.

Когда я попробовал класс pointyColorbar, я заменил строку cb=colorbar('location','southoutside'); на cb=pointyColorbar(15,-15,'location','southoutside'). Вполне возможно, что мне нужно поиграть с тем, как использовать класс pointyColorbar, но я недостаточно понимаю код, чтобы знать, как заставить его выглядеть так, как я этого хочу.

+0

Не могли бы вы показать нам, что вы делали до сих пор в MATLAB? –

+0

Я добавил код выше :) – emmalgale

+0

Какую версию MATLAB вы используете? Я видел, что функции 'isrow' и' iscolumn' в pointyColorbar доступны только из MATLAB R2011a. Кроме того, функция «poly2mask» доступна в Image Processing Toolbox, поэтому класс не будет работать, если у вас нет этого инструментария. –

ответ

0

О проблеме poining, я думаю, что ваш ответ, как в нижней части этой страницы:

http://www.mathworks.com/matlabcentral/answers/48773

и о пределах Colorbar, я думаю, что вы ищете что-то вроде:

набор (gca, 'CLim', [cLow, cHigh]);

перед выделением цветной панели.

(«cLow» и «cHigh» - это границы, которые вы хотите для цветового бара).

Взгляните на это: http://www.mathworks.com/matlabcentral/newsreader/view_thread/163344

+0

Код, который я написал, не должен приводить к этому примеру.Я просто хочу, чтобы colourbar выглядел так: остальная часть фигуры не имеет значения (расположение цветовой панели уже отсортировано). Пределы работали нормально, это было буквально просто тупой бит, который я пытался сделать. – emmalgale

+0

Хорошо, извините, может помочь вам с этим. Я напишу тебе, если узнаю. – Rorro

+0

Я отредактировал свой ответ. Я верю, что у тебя есть то, что ты хочешь. – Rorro

Смежные вопросы