利用matplotlib和cmaps根据已有的colormap,重新定义colormap

算法网上这哥们总结的还可以[1] ,但是使用matplotlib自定义colormap自己掌握的还不够,写在这里

希望达到的目标

  1. 使用什么样的颜色,可以自己定义
  2. 方便的调用其他人的色标, 使用一部分colormap

具体的步骤

  1. 首先申明利用cmaps和matplotlib两个库
    import cmaps
    import matplotlib as mpl
    
  2. 利用cmaps调用ncl的colormap, ,这一步是取得ncl中的一个降水的18值的colormap[2]
    cc = cmaps.precip3_16lev_r 
    
  3. 获取这个色标中的每个颜色
    colors = mpl.cm.get_cmap(ccc)
    col = colors(np.linspace(0, 1, 18))
    
  4. 利用得到的颜色创建新的色标
    cccc = mpl.colors.ListedColormap([col[0],'brown', col[1],
    						col[3],col[4],col[6],
    						col[8],'white'])
    
  5. 正常使用这个新创建的色标cccc

  1. http://ddrv.cn/a/284689/amp ↩︎

  2. http://www.ncl.ucar.edu/Document/Graphics/color_table_gallery.shtml ↩︎

原文地址:https://www.cnblogs.com/benbenxiaofeifei/p/14541089.html