matplotlib.pyplot——cmap直观理解

最近在看《深入浅出Python机器学习》,敲案例时发现matplotlib里cmap参数的使用方法发生了一些变化,索性整理了一下cmap相关的内容,这里是matplotlib的官方颜色图,文中也会放出。文中表达如有不正确的地方,欢迎指出~

目录

    • WHAT
      • 1. 关于cmap的个人理解
      • 2. cmap的分类
      • 3. matplotlib内置的颜色图
    • WHY
    • HOW

WHAT

1. 关于cmap的个人理解

  1. cmap参数接受一个值(每个值代表一种配色方案),并将该值对应的颜色图分配给当前图窗。
  2. 形象化:如果将当前图窗比作一幅简笔画,则cmap就代表颜料盘的配色,用所提供的颜料盘自动给当前简笔画上色,就是cmap所做的事。
    matplotlib.pyplot——cmap直观理解_第1张图片

2. cmap的分类

cmap主要分为以下四大类:

  1. Sequential colormaps连续化色图
    .
    特点:在两种色调之间近似平滑变化,通常是从低饱和度(例如白色)到高饱和度(例如明亮的蓝色)。
    .
    应用:适用于大多数科学数据,可直观地看出数据从低到高的变化。
    .
    1)以中间值颜色命名(eg:viridis 松石绿)
    matplotlib.pyplot——cmap直观理解_第2张图片
    2)以色系名称命名,由低饱和度到高饱和度过渡(eg:YlOrRd = yellow-orange-red,其它同理)
    matplotlib.pyplot——cmap直观理解_第3张图片
    3)以风格命名??
    matplotlib.pyplot——cmap直观理解_第4张图片
  2. Diverging colormaps两端发散的色图 .
    .
    特点:具有中间值(通常是浅色),并在高值和低值处平滑变化为两种不同的色调。
    .
    应用:适用于数据的中间值很大的情况(例如0,因此正值和负值分别表示为颜色图的不同颜色)。
    .
    matplotlib.pyplot——cmap直观理解_第5张图片
  3. Qualitative colormaps离散化色图
    .
    特点:离散的颜色组合
    .
    应用:在深色背景上绘制一系列线条时,可以在定性色图中选择一组离散的颜色,例如:color_list = plt.cm.Set3(np.linspace(0, 1, 12))
    .
    matplotlib.pyplot——cmap直观理解_第6张图片
  4. Miscellaneous colormaps:其它色图
    matplotlib.pyplot——cmap直观理解_第7张图片

3. matplotlib内置的颜色图

  1. 按从A—Z—a—z顺序排列:
    1)Accent, Blues, BrBG, BuGn, BuPu, CMRmap, Dark2, GnBu, Greens, Greys, OrRd, Oranges, PRGn, Paired, Pastel1, Pastel2, PiYG, PuBu, PuBuGn, PuOr, PuRd, Purples, RdBu RdGy, RdPu, RdYlBu, RdYlGn, Reds, Set1, Set2, Set3, Spectral, Wistia, YlGn, YlGnBu, YlOrBr, YlOrRd
    2)afmhot, autumn, binary, bone, brg bwr, cividis, cool, coolwarm, copper, cubehelix, flag, gist_earth, gist_gray, gist_heat, gist_ncar gist_rainbow, gist_stern, gist_yarg, gnuplot, gnuplot2, gray, hot, hsv, inferno, jet, magma, nipy_spectral, ocean, pink, plasma, prism, rainbow, seismic, spring, summer, tab10, tab20, tab20b, tab20c, terrain, twilight, twilight_shifted, viridis, winter
  2. 每种颜色图还可通过添加后缀 _r反转,形象化理解就是把上面的色条水平翻转(eg:若当前使用set3的前三个颜色,则改成set3_r后就变成使用set3的后三个颜色)
  3. 使用的时候要注意大小写

WHY

当然是为了好看呀哈哈哈哈

HOW

  • plt.cm.get_cmap('cmap')
    注意:在《深入浅出Python机器学习》中,cmap=plt.cm.Pastel1的用法会报错,改成plt.cm.get_cmap('Pastel1')即可。

  • plt.imshow(img, cmap = ('cmap'))

不断更新中……

你可能感兴趣的:(【matplotlib】,pyplot,plt,cmap,matplotlib)