发散colormaps
我之前承诺对发散colormaps帖子。发散colormap通常是由连接两个colormaps在一起有不同的配色方案。
这是一个发散colormapwww.ColorBrewer.org辛西娅·a·布鲁尔,地理,宾夕法尼亚州立大学。
rgb = […94 79 162 136 189 102 194 165 171 221 164 230 245 152 255 255 191 254 224 139 253 174 97 244 109 67 213 62 79 158 1 66)/ 255;b = repmat (linspace(0, 1200), 20岁,1);imshow (b, [],“InitialMagnification”,“健康”)colormap (rgb)
这colormap在中间最亮的颜色,这是典型的发散colormaps。
发散colormap用于比较数据值和参考价值的视觉亮点值是否高于或低于参考。
让我给你举个例子使用海洋表面温度。今天我学会了28摄氏度都有特定的意义在飓风的建模和预测。它被认为是飓风形成的最低温度。
使用美国国家航空航天局EOSDIS混响的工具下载,我发现,海洋表面温度Aqua卫星的8月1日2011年。数据作为netCDF文件到达。
amsre = ncread (“20110801 - amsre雷姆- l2p_gridded_25 amsre_20110801rt v01.nc”,…“sea_surface_temperature”);大小(amsre)
ans = 1440 720 2
两架飞机包含数据从两个不同的轨道。
orbit1 = flipud (amsre (:,: 1) ');orbit2 = flipud (amsre (:,: 2) ');imshow (orbit1 [],“InitialMagnification”,“健康”)标题(“轨道1”)
imshow (orbit2 [],“InitialMagnification”,“健康”)标题(《轨道2》)
黑色区域是nan代表缺失的数据。结合这两个轨道的最大值。
海温= max (orbit1 orbit2);imshow (sst、[]“InitialMagnification”,“健康”)
现在抓取数据的一个子集,包括大西洋的一部分。
ssta = sst (180:400,330:700);imshow (ssta, [],“InitialMagnification”,“健康”)
应用发散colormap。
colormap colorbar (rgb)
好的,我马上看到一个问题。它看起来像我们的数据在开尔文。让我们解决这个问题。
ssta = ssta - 273.15;imshow (ssta, [],“InitialMagnification”,“健康”)colormap colorbar (rgb)
现在我想利用我们的发散colormap强调兴趣,温度28度。为此,我将使用的这一属性轴对象。这一属性是一个双元素向量。第一个元素告诉我们数据值映射到最低colormap颜色,并告诉我们第二个元素数据值映射到最高colormap颜色。MATLAB计算这些值自动基于数据的范围。
get (gca),“爬”)
ans = -1.9500 - 33.6000
让中间colormap颜色代表28度,我们需要选择两个这一值,这样他们也同样远离28度。几次试验之后,我选定了一个从22度到34度。
集(gca),“爬”34,[22])
看起来更好,但它不是有用的缺失数据显示使用底部colormap的颜色。我将使用这个程序解决这个问题。
- 构造一个灰色面具图像(真彩格式)。
- 上面显示我们的海洋表面温度的形象。
- 设置AlphaData灰色面具的形象,使海洋表面温度显示通过。
这里是前两个步骤。
掩码= isnan (ssta);graymask = 0.5 *面具;graymask = repmat (graymask, 1, 1, 3);持有在h = imshow (graymask);持有从
缺失值显示为灰色,但是我们不能看到海洋表面温度。通过使用NaN-mask作为覆盖的AlphaData形象。
h。AlphaData =面具;%这个语法需要MATLAB R2014b。
气温接近阈值显示使用黄色,最亮的颜色colormap和中间的一个。显示温度高于阈值用橙子和红酒,当温度低于使用绿色和蓝色显示。
在我走之前,我想喊一声开发区域博客,今天刚刚开始。如果你是高级软件开发人员的话题,我鼓励你去那边看看。
- 类别:
- Colormap
评论
留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。