Я пытаюсь создать фигуру в Matlab, пригодную для публикации, и мне нужна помощь с цветовой полосой.
Мои данные находятся в диапазоне от -20 до 30, но я хочу, чтобы цветовая полоса фокусировалась на значениях от -15 до 15 со стрелками на каждом конце для представления значений за пределами этого диапазона.
Я попытался использовать класс pointyColorbar (http://www.mathworks.co.uk/matlabcentral/answers/48773), но он не дает требуемого результата. В идеале я хотел бы, чтобы цветовая полоса выглядела так, как показано ниже, но с использованием моей пользовательской карты цветов.
Может ли кто-нибудь помочь мне с этим? Извините, если я не правильно задал вопрос - я новичок в этом!
В соответствии с запросом ниже показано, что у меня сейчас есть для моей панели цветов (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]);
Это дает мне прямоугольную цветовую полосу под моей цифрой в диапазоне от -17,5 до 17,5. Значения вне этого диапазона отмечены тем же цветом, что и диапазон +/- 15-17,5.
Когда я попробовал класс pointyColorbar, я заменил строку cb=colorbar('location','southoutside');
на cb=pointyColorbar(15,-15,'location','southoutside')
. Вполне может быть, что мне нужно поиграться с тем, как использовать класс pointyColorbar, но я недостаточно хорошо понимаю код, чтобы знать, как заставить его выглядеть так, как я хочу.
isrow
иiscolumn
в pointyColorbar доступны только из MATLAB R2011a. Кроме того, функцияpoly2mask
доступна в наборе инструментов для обработки изображений, поэтому класс не будет работать, если у вас нет этого набора инструментов. - person m_power   schedule 10.02.2014contour
. - person m_power   schedule 10.02.2014