Указание цветов при использовании pcolor - PullRequest
0 голосов
/ 12 января 2020

Я использую команду pcolor для создания изображений, отображающих изменчивость температуры поверхности моря. Я пытаюсь установить 0 ° C, чтобы быть белым, с более теплыми температурами, являющимися оттенками красного, и более прохладными температурами, являющимися оттенками синего. Я использую следующую команду:

pcolor(LON,LAT,squeeze(SSTAp(tt,:,:)));
shading flat

Follow

white=[1 1 1];
yellow=[1 1 0];
orange=[1 0.5 0];
red=[1 0 0];
black=[0 0 0];
custom_map = [white; yellow; orange; red; black]; 
colorbar('YTickLabel',{'None','Moderate','Strong','Severe','Extreme'})
caxis([1,5]);

1 Ответ

0 голосов
/ 12 января 2020

Вы должны использовать пользовательский colormap. Пример ниже генерирует некоторые данные, строит их с помощью pcolor и устанавливает цвета в соответствии с вашим запросом.

% Create data; a 50-by-50 matrix with a diagonal gradient
X = 1:50;
Y = X';
T = X+Y-30;

% Plot the data
pcolor(X, Y, T);
shading flat;

% Create colormaps
blues = [
    linspace(0, 1, 100); % red and green values are changing from 0 to 1
    linspace(0, 1, 100); % in order to create a blue-to-white transition
    linspace(1, 1, 100);
    ]';

reds = [
    linspace(1, 1, 100);
    linspace(1, 0, 100); % green and blue values are changing from 1 to 0
    linspace(1, 0, 100); % in order to create a white-to-red transition  
    ]';

custom_map = [blues; reds]; % this one is blues-white-white-red

colormap(custom_map);       % apply colormap to the figure
caxis([-50,50]);            % set color axis, this ensures that 0 is white
colorbar;                   % optional, show a colorbar

Приведенный выше код создает этот рисунок: Result

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...