我有一个轮廓图,数据从-90度到90度。现在我正在使用jet,所以我有一张看起来像
的地图我被要求更改色彩图,以便不是有渐变,而是每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])
有谁知道如何创建此颜色栏? 干杯
答案 0 :(得分:0)
Matlab中的每个色彩映射生成函数(包括jet
)都会使用一个参数来指定应该有多少个色彩映射条目。在您的情况下,您需要180/5 = 36个离散颜色:
colormap(jet(36))
要确保36种颜色完全覆盖5度步长,请明确设置颜色轴:
caxis([-90 90])
结果如下:像这样: