Создайте палитру в Matlab

У меня есть контурный график с данными, которые идут от -90 до 90 градусов. на данный момент я использую самолет, поэтому у меня есть карта, которая выглядит так: введите здесь описание изображения

Меня попросили изменить цветовую карту, чтобы вместо градиента у меня был фиксированный цвет для каждого 5 градусов (поэтому я считаю, что 36 цветов). Также я думал о том, чтобы иметь одинаковые цвета для интервалов [5 10] и [-10 -5] и так далее, если это имеет смысл.

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

%%
x1=data(:,5); %x location
y1=data(:,16); %y location
z1=phi*90; %angle phi
z2=gamma*90; %angle gamma
n=300; precision of grid

%Create regular grid across data space
[X,Y] = meshgrid(linspace(min(x1),max(x1),n), linspace(min(y1),max(y1),n));

figure(3);
contourf(X,Y,griddata(x1,y1,z1,X,Y),100,'EdgeColor', 'None')
%title('Variation of In-plane angle \phi')
axis equal
axis ([0 8000 0 12000]) 
axis off
h=colorbar;
caxis([-90 90])
set(h, 'YTick', [-90:15:90])

Кто-нибудь знает, как создать эту цветовую полосу? Ваше здоровье


person Dorian Kartalovski    schedule 25.03.2015    source источник
comment
www.mathworks.com/help/matlab/ref/colormap.html, там есть все, что вам нужно   -  person yakoudbz    schedule 25.03.2015
comment
Спасибо, я только что посмотрел, кажется, я понял, как это сделать.   -  person Dorian Kartalovski    schedule 25.03.2015


Ответы (1)


Каждая функция генерации цветовой карты в Matlab, включая jet, принимает аргумент, указывающий, сколько записей цветовой карты должно быть. В вашем случае вам нужно 180/5 = 36 дискретных цветов:

colormap(jet(36))

Чтобы убедиться, что 36 цветов покрывают точно 5-градусные шаги, явно задайте цветовую ось:

caxis([-90 90])

Результат выглядит, например. так:

person A. Donda    schedule 26.03.2015
comment
Спасибо А. Донда. Он отлично работает, также я создал свою собственную матрицу цветовой карты, чтобы я мог иметь -90 и +90 одного и того же цвета (по просьбе моего супервайзера, потому что они на самом деле одинаковы) - person Dorian Kartalovski; 26.03.2015
comment
Пожалуйста. Хорошо, что он у вас уже есть, иначе вы могли бы использовать периодическую палитру вроде hsv: начинается с красного и заканчивается красным и использует весь спектр цветов. - person A. Donda; 26.03.2015
comment
Да, используйте цветовую карту оттенка, например hsv, струя ужасна во многих отношениях... - person rubenvb; 26.03.2015
comment
@rubenvb, согласен, jet некрасиво. - person A. Donda; 26.03.2015