最近在看《深入浅出Python机器学习》,敲案例时发现matplotlib里cmap参数的使用方法发生了一些变化,索性整理了一下cmap相关的内容,这里是matplotlib的官方颜色图,文中也会放出。文中表达如有不正确的地方,欢迎指出~
目录
- WHAT
- 1. 关于cmap的个人理解
- 2. cmap的分类
- 3. matplotlib内置的颜色图
- WHY
- HOW
WHAT
1. 关于cmap的个人理解
- cmap参数接受一个值(每个值代表一种配色方案),并将该值对应的颜色图分配给当前图窗。
- 形象化:如果将当前图窗比作一幅简笔画,则cmap就代表颜料盘的配色,用所提供的颜料盘自动给当前简笔画上色,就是cmap所做的事。
2. cmap的分类
cmap主要分为以下四大类:
- Sequential colormaps:连续化色图 .特点:在两种色调之间近似平滑变化,通常是从低饱和度(例如白色)到高饱和度(例如明亮的蓝色)。 .应用:适用于大多数科学数据,可直观地看出数据从低到高的变化。 . 1)以中间值颜色命名(eg:viridis 松石绿)
2)以色系名称命名,由低饱和度到高饱和度过渡(eg:YlOrRd = yellow-orange-red,其它同理)
3)以风格命名??
- Diverging colormaps:两端发散的色图
特点:具有中间值(通常是浅色),并在高值和低值处平滑变化为两种不同的色调。
应用:适用于数据的中间值很大的情况(例如0,因此正值和负值分别表示为颜色图的不同颜色)。 .
- Qualitative colormaps:离散化色图 .
特点:离散的颜色组合
应用:在深色背景上绘制一系列线条时,可以在定性色图中选择一组离散的颜色,例如:color_list = plt.cm.Set3(np.linspace(0, 1, 12))
.
- Miscellaneous colormaps:其它色图
3. matplotlib内置的颜色图
- 按从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 - 每种颜色图还可通过添加后缀 _r 来反转,形象化理解就是把上面的色条水平翻转(eg:若当前使用set3的前三个颜色,则改成set3_r后就变成使用set3的后三个颜色)
- 使用的时候要注意大小写
WHY
当然是为了好看呀哈哈哈哈
HOW
plt.cm.get_cmap('cmap')
注意:在《深入浅出Python机器学习》中,cmap=plt.cm.Pastel1
的用法会报错,改成plt.cm.get_cmap('Pastel1')
即可。plt.imshow(img, cmap = ('cmap'))
不断更新中……