cmocean 套件

子模組

cmocean.cmocean 模組

cmocean.plots 模組

使用色彩映射圖繪製圖形。

製作色彩映射圖和標籤的圖形,如同 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),且為了使用此參數,abs(vmin) 和 abs(vmax) 應相等。

輸出產生的色彩映射圖物件。

此函式可用於循序式和其他非發散式色彩映射圖,
但透過 crop_by_percent() 使用會更容易。
當最大海底深度值與最大地形不同時,
這應該對於使用地形色彩映射圖繪製海底深度和地形資料很有用。
使用範例

# 在發散式色彩映射圖的最小端裁剪的範例 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 代表不透明,而 1 代表完全透明。

輸出產生的色彩映射圖物件。

這會淡化使用輸出繪製的圖形外觀。
色彩映射圖物件。也可以在繪圖函式本身中淡化許多圖形(例如 pcolormesh 或 contourf)。
cmocean.tools.print_colormaps(cmaps, N=256, returnrgb=True, savefiles=False)

將色彩映射圖以 256 種 RGB 顏色印到文字檔案。

參數returnrgb=False – 是否傳回 rgb 陣列。僅在列印單一色彩映射圖的 rgb 時才有意義。

模組內容

cmocean 是一個用於協助標準化常用海洋學屬性色彩映射圖的套件。

請參閱 README.md 以取得相關說明概觀。