【问题标题】:Create a colormap in matlab [duplicate]在matlab中创建一个颜色图[重复]
【发布时间】:2015-03-26 23:44:01
【问题描述】:

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

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

【问题讨论】:

  • www.mathworks.com/help/matlab/ref/colormap.html,你想要的都在那里
  • 谢谢,我刚刚看了,我想我知道该怎么做了

标签: matlab matlab-figure colorbar colormap contourf


【解决方案1】:

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

colormap(jet(36))

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

caxis([-90 90])

结果看起来例如像这样:

【讨论】:

  • 感谢 A. Donda。它工作正常,我所做的也是创建自己的颜色图矩阵,这样我就可以拥有 -90 和 +90 相同的颜色(我的主管要求,因为它们实际上是相同的)
  • 不客气。很高兴您已经拥有它,否则您可以使用像 hsv 这样的周期性颜色图:以红色开始,以红色结束,并使用整个光谱。
  • 是的,使用像 hsv 这样的色调颜色图,jet 的可怕之处不止一种......
  • @rubenvb,同意,jet 很丑。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-08
  • 2016-05-30
  • 1970-01-01
  • 2018-07-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多