cmocean文档

cmocean函数返回由Kristen Thyng生成的感知一致的颜色地图。cmocean项目的详细描述可在http://matplotlib.org/cmocean

如果你因为任何原因找到了引用这些颜色图的机会,或者如果你只是想要一些愉快的海滩阅读,请查看以下来自该杂志的论文海洋学

克里斯汀·m·廷,查德·a·格林,罗伯特·d·赫特兰,希瑟·m·齐默尔和史蒂文·f·迪马科(2016)。海洋学的真实颜色:有效和准确的色图选择指南。海洋学, 29(3), 10。doi: 10.5670 / oceanog.2016.66

参见:rgb

回到气候数据工具内容

内容

语法

cmocean cmap = cmocean('ColormapName') cmap = cmocean('-ColormapName') cmap = cmocean(…,NLevels) cmap = cmocean(…,'pivot',PivotValue) cmap = cmocean(…,'negative') cmocean(…)

描述

cmocean没有任何输入显示颜色地图选项。

cmap = cmocean('ColormapName')返回一个256x3的颜色图。ColormapName可以是以下任何一种:

cmap = cmocean('-ColormapName')any前面的负号ColormapName翻转颜色映射的顺序。

cmap = cmocean(…,NLevels)指定颜色图中的层数。默认值为256

cmap = cmocean(…,'pivot',PivotValue)将发散色度图居中,使颜色发散点对应于指定值,并使用当前出租车限制设置最大范围。如果没有PivotValue是集,0假定。此函数的早期版本使用“零”的语法“主”,0旧的语法仍然被支持。万博1manbetx

Cmap = cmocean(…,'负')反转颜色图的明度配置文件。如果默认的白色发散点丢失在白色背景中,这对于发散色图特别有用。

cmocean(…)在没有任何输出的情况下,将当前颜色映射设置为当前轴。

例子

使用这个示例图:

显示亮度图像(峰(1000)+ 1)colorbar

将颜色映射设置为“海藻”

cmocean (“海藻”

和上面一样,不过是倒着写的藻类colormap:

cmocean (“海藻”

将颜色映射设置为12级“太阳”

cmocean (“太阳”, 12)

获取5级热图的RGB值:

RGB = cmocean(“热”5)
RGB = 0.0156 0.1382 0.2018 0.3366 0.2317 0.6123 0.6893 0.3727 0.5097 0.9772 0.5740 0.2578 0.9090 0.9822 0.3555

其中一些值小于零,另一些值大于零。如果这个数据集代表异常,也许发散的颜色图更合适:

cmocean (“平衡”

这个颜色轴1.7776的中心值不太可能是数据发散的有趣值。如果要使用当前颜色轴限制将颜色映射居中于零点,只需包含“主”选择:

cmocean (“平衡”“主”, 0)

绝对数量与异常

在绘制一个线性量(如一个月的总降水量)时,使用从亮到暗或从暗到亮的线性色图。这是2017年12月的降水量colormap:

文件名=“ERA_Interim_2017.nc”;Lat = ncread(文件名“纬度”);Lon = ncread(文件名,“经”);Tp = ncread(文件名,“tp”);总降水量%图h = imagescn(lon,lat,tp(:,:,12)'*100);标题12月降水的Cb = colorbar;ylabel (cb、“每月总额(厘米)”) cmocean持有边界(“国家”“颜色”rgb (“灰色”)的士([0 2])

然而,异常情况证明了一种不同的方法。使用发散色图显示异常的空间模式,在数值异常高、低或接近平衡的区域之间提供清晰的描述。

这是发散者冰斗湖12月降水量相对于年平均降水量的颜色图:

Precip_anomaly = tp(:,:,12) - mean(tp,3);figure imagescn(lon,lat,Precip_anomaly'*100)标题12月降水的Cb = colorbar;ylabel (cb、降水异常(厘米)) cmocean冰斗湖Caxis([-1 1]*0.6)持有边界(“国家”“颜色”rgb (“灰色”))

地形

地形是一个特殊的例子,因为清楚地区分陆地和海洋通常很重要,但我们仍然希望感知的颜色和海拔高度之间有线性关系。典型的发散色图平衡旋度可能会把视线引向海岸线的大致方向,但不能提供陆地和海洋之间的明确定义,因此cmoceancolormaps包括“威尼斯平底渔船”,它是专门为地形设计的。

[Lat,Lon] = cdtgrid(0.25);Z = topo_interp(Lat,Lon);图imagescn(Lon,Lat,Z) caxis([-1 1]*6000) cmocean威尼斯平底渔船

负colormaps

我最近遇到了一种情况,我在白色背景上有一个分散的数据图,但是cmocean(资产”)把最重要的数据点变成白色,几乎看不见。情况是这样的:

%一些带噪声的样本数据:X = 10*兰特(300,1)-5;噪声= 2*randn(size(x));Y = x.^2+噪声;理论上完美的x^2直线:x_theory = linspace(min(x),max(x),50);Y_theoretical = x_theoretical.^2;绘制数据:图绘制(x_theoretical y_theoretical,“k -”)举行散射(x, y, 25岁,噪音,“填充”) cb = colorbar;ylabel (cb、“相对于理论的误差”)箱

我想展示我的噪声数据与完美的理论x平方线有多远,所以发散性cmocean(资产”)地图似乎很合适:

cmocean (“平衡”“主”, 0)

但是在上面的图中,人们的注意力从理论线转移到了暗红色和深蓝色的离群值上。在这种情况下,负色系可能是首选:

cmocean (“平衡”“主”0,“负面”

作者信息

这个函数是由查德·a·格林德克萨斯大学奥斯汀分校地球物理研究所(UTIG), 2016年6月,使用的彩色地图克里斯汀Thyng德克萨斯农工大学海洋系教授。更多有关cmocean项目可在http://matplotlib.org/cmocean.更新了新的颜色地图威尼斯平底渔船diff,冰斗湖2019年1月。