cmap定義を実行すると、lcmap
の長さは256エントリになり、0番目のエントリだけを新しい色に設定することは、カラーバーや最小値の少ないデータセットではほとんど見えません。私は、(1)新しい色を緑に設定してコントラストを最大にし、(2)lcmapの32個の最低値を新しい色に設定して、誇張しました。ベースマップの例ファイルplotsst.pyに結果は:
im1
を定義するラインを置き換えるために、このコードを挿入から:
import palettable
cmap = palettable.colorbrewer.sequential.PuRd_9.mpl_colormap
lcmap = [cmap(i) for i in range(cmap.N)]
for i in range(32):
lcmap[i] = (0, .5, 0, 1.0)
cmap_green = cmap.from_list('0th entry green', lcmap, cmap.N)
im1 = m.pcolormesh(lons,lats,sst,shading='flat',cmap=cmap_green,latlon=True)
palettable.colorbrewer.sequential.PuRd_9
は予想通り、9つの値を有するが、にそれを回しますmpl_colormap
は256に平滑化します。
@Pablo Reyesの答えを組み込んで、挿入されたコードは
です
import palettable
cmap = palettable.colorbrewer.sequential.PuRd_9.mpl_colormap
lcmap = [cmap(i) for i in range(cmap.N)]
lcmap[0] = (0, .5, 0, 1.0)
cmap_green = cmap.from_list('0th entry green', lcmap, 9)
im1 = m.pcolormesh(lons,lats,sst,shading='flat',cmap=cmap_green,latlon=True)
と結果があり、あなたが行く
です!
感謝@cphlewis! – user308827