0

我有一个等高线图,其中的数据从 -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])

有谁知道如何创建这个颜色条?干杯

4

1 回答 1

0

Matlab 中的每个颜色图生成函数,包括jet,都采用一个参数来指定应该有多少颜色图条目。在您的情况下,您需要 180 / 5 = 36 种离散颜色:

colormap(jet(36))

为了确保 36 种颜色完全覆盖 5 度步长,请明确设置颜色轴:

caxis([-90 90])

结果看起来像这样:

于 2015-03-26T15:44:01.953 回答