cmocean 包¶
子模块¶
cmocean.cmocean 模块¶
cmocean.plots 模块¶
使用颜色映射绘图。
-
cmocean.plots.
plot_gallery
(saveplot=False)¶ 制作颜色映射和标签的绘图,类似于 matplotlib 库中的示例。
参数 saveplot=False – 是否保存绘图。
-
cmocean.plots.
plot_lightness
(saveplot=False)¶ 一起绘制颜色映射的亮度。
-
cmocean.plots.
quick_plot
(cmap, fname=None, fig=None, ax=None, N=10)¶ 快速展示颜色映射的测试。
-
cmocean.plots.
test
(cmap, fig=None, ax=None)¶ 通过绘图测试颜色映射。
参数 cmap – 颜色映射实例。使用 cm.get_cmap(colormap) 获取命名的实例。
-
cmocean.plots.
wrap_viscm
(cmap, dpi=100, saveplot=False)¶ 使用感知差异评估颜色映射的优劣。
参数 - cmap – 颜色映射实例。
- dpi=100 – 保存图像的 dpi。
- saveplot=False – 是否保存绘图。
cmocean.tools 模块¶
使用颜色映射绘制内容。
-
cmocean.tools.
cmap
(rgbin, N=256)¶ 输入 rgb 值数组以生成颜色映射。
参数 - rgbin – 一个 [mx3] 数组,其中 m 是输入颜色三元组的数量,这些三元组之间进行插值以生成返回的颜色映射。也可以输入十六进制值,格式为 [mx1] ,用单引号和 # 包裹。
- N=10 – 要插值的级别数。
-
cmocean.tools.
crop
(cmapin, vmin, vmax, pivot, N=None, dmax=None)¶ 通过 vmin/vmax 值裁剪发散颜色映射的末端或两端。
参数 - cmap – 颜色映射对象,如 cmocean.cm.matter。
- vmin/vmax – 在使用颜色映射绘制时使用的 vmin/vmax。
- pivot – 在使用发散颜色映射绘制时使用的中心点。
- N=None – 用户可以指定输出颜色映射的行数。如果未指定,则将使用输入颜色映射中的 N,并且将根据需要插值以填充行。
- dmax=None – dmax 是在颜色映射绘制中包含的最大数字;幅度高于 dmax 的值将从颜色映射的两端删除。它应该小于 abs(vmin) 和 abs(vmax),并且为了使用此参数,两者应该相等。
输出结果颜色映射对象。
- 此函数可用于顺序和其他非发散颜色映射
- 但通过 crop_by_percent() 使用起来更容易。
- 当最大测深值与最大地形值不同时,此函数应该对于使用
- topo 颜色映射绘制测深和地形数据非常有用。
- 用法示例
# 在发散颜色映射的最小端进行裁剪的示例 vmin = -2; vmax = 5; pivot = 0 newcmap = crop(cmocean.cm.curl, vmin, vmax, pivot) A = np.random.randint(vmin, vmax, (5,5)) plt.pcolormesh(A, vmin=vmin, vmax=vmax, cmap=newcmap) plt.colorbar()
# 在发散颜色映射的最大端进行裁剪的示例 vmin = -10; vmax = 8; pivot = 0 newcmap = crop(cmocean.cm.delta, vmin, vmax, pivot) A = np.random.randint(vmin, vmax, (5,5)) plt.pcolormesh(A, vmin=vmin, vmax=vmax, cmap=newcmap) plt.colorbar()
-
cmocean.tools.
crop_by_percent
(cmap, per, which='both', N=None)¶ 按百分比 per 裁剪颜色映射的末端或两端。
参数 - cmap – 颜色映射对象,如 cmocean.cm.matter。
- per – 要删除的颜色映射百分比。如果 which=='both',则从颜色映射的两端删除此百分比。如果 which=='min' 或 which=='max',则仅从颜色映射的指定端删除百分比。
- which='both' – 要裁剪的颜色映射的末端或两端。which='both' 从两端删除,which='min' 从底部删除,which='max' 从顶部删除。
- N=None – 用户可以指定输出颜色映射的行数。如果未指定,则将使用输入颜色映射中的 N,并且将根据需要插值以填充行。
输出结果颜色映射对象。
- 这是 crop() 的包装器,使其更易于用于基于
- 百分比进行裁剪。
- 示例
# 使用 oxy 映射的示例:裁剪顶部 20% 的黄色部分 # 与完整颜色映射进行比较 vmin = 0; vmax = 10; pivot = 5 A = np.random.randint(vmin, vmax, (5,5)) fig, axes = plt.subplots(1, 2) mappable = axes[0].pcolormesh(A, vmin=vmin, vmax=vmax, cmap=cmocean.cm.oxy) fig.colorbar(mappable, ax=axes[0]) vmin = 0; vmax = 8; pivot = 5 newcmap = crop_by_percent(cmocean.cm.oxy, 20, which='max', N=None) plt.figure() plt.pcolormesh(A, vmin=vmin, vmax=vmax, cmap=newcmap) plt.colorbar()
# 使用 oxy 映射的示例:裁剪底部 20% 的红色部分 # 与完整颜色映射进行比较 vmin = 0; vmax = 10; pivot = 5 A = np.random.randint(vmin, vmax, (5,5)) fig, axes = plt.subplots(1, 2) mappable = axes[0].pcolormesh(A, vmin=vmin, vmax=vmax, cmap=cmocean.cm.oxy) fig.colorbar(mappable, ax=axes[0]) vmin = 2; vmax = 10; pivot = 5 A = np.random.randint(vmin, vmax, (5,5)) newcmap = crop_by_percent(cmocean.cm.oxy, 20, which='min', N=None) plt.figure() plt.pcolormesh(A, vmin=vmin, vmax=vmax, cmap=newcmap) plt.colorbar()
# 裁剪颜色映射两端的深色部分以减小范围 newcmap = crop_by_percent(cmocean.cm.balance, 10, which='both', N=None) plt.figure() A = np.random.randint(-5, 5, (5,5)) plt.pcolormesh(A, vmin=vmin, vmax=vmax, cmap=newcmap) plt.colorbar()
-
cmocean.tools.
get_dict
(cmap, N=256)¶ 从 rgb 更改为 LinearSegmentedColormap 期望的字典。代码来自 https://mycarta.wordpress.com/2014/04/25/convert-color-palettes-to-python-matplotlib-colormaps/ 和 http://nbviewer.ipython.org/github/kwinkunks/notebooks/blob/master/Matteo_colourmaps.ipynb
-
cmocean.tools.
lighten
(cmapin, alpha)¶ 通过添加 alpha < 1 来淡化颜色映射。
参数 - cmap – 颜色映射对象,如 cmocean.cm.matter。
- alpha – 要分配给颜色映射的 alpha 或透明度值。 alpha 为 1 表示不透明,alpha 为 0 表示完全透明。
输出结果颜色映射对象。
- 这将使你使用输出
- 颜色映射对象进行的绘图外观变浅。也可以在绘图函数本身中(例如,pcolormesh 或 contourf)使许多绘图变浅。
-
cmocean.tools.
print_colormaps
(cmaps, N=256, returnrgb=True, savefiles=False)¶ 将颜色映射以 256 RGB 颜色打印到文本文件中。
参数 returnrgb=False – 是否返回 rgb 数组。仅在打印一个颜色映射的 rgb 时才有意义。