matplotlib的colormap

用plt的imshow画图,总是找不到心仪的colorbar,可以自定义:

  1. 在原有cmap基础上自定义:

    1
    2
    3
    4
    5
    colorbar = plt.get_cmap('Greys')(range(180))
    cm = LinearSegmentedColormap.from_list(name="grey_cm", colors=colorbar)
    plt.register_cmap(cmap=cm)

    plt.imshow(map2d.data, cmap='grey_cm')
  2. define一个新的cmap:

    1
    2
    3
    4
    5
    6
    def colormap():
    colors = ['#FFFFFF', '#9ff113', '#5fbb44', '#f5f329', '#e50b32']
    return colors.ListedColormap(colors, 'my_cmap')

    my_cmap = colormap()
    plt.imshow(map2d.data, cmap=my_cmap)