matplotlib可视化系列之【颜色】

颜色和排版一样,看似简单,其实非常复杂,往大了说,涉及到艺术和品味,不像数学公式,物理定理那样,是非分明。

但是,对 matplotlib 中的颜色有些基本的了解,可以让绘出的图形颜色不至于太突兀。
虽不能说选出完美的颜色搭配,至少是看着舒服,醒目的颜色搭配。

颜色的种类

颜色一般用 RGB 来表示,颜色空间主要有3种:

  1. RGB
  2. sRGB
  3. Lab

3种颜色空间都可以用 6位的16进制表示,只是显示出来的有些微的差别,在绘图时,一定要确定好自己用的是哪个颜色空间。
image.png

matplotlib 有默认的10个颜色和20个颜色,绘图时如果不指定颜色,那么就会用默认用这些颜色。
下面的代码可以打印出默认颜色:

import matplotlib.pyplot as plt
import matplotlib.colors as colors

cmap10 = plt.get_cmap("tab10")
cmap20 = plt.get_cmap("tab20")

[colors.to_hex(cmap10(i)) for i in range(10)]
[colors.to_hex(cmap20(i)) for i in range(20)]

颜色的运用

一般来说,颜色的运用根据数据的情况来定。

序列性质的数据

比如按照年份变化的数据,在折线图中使用单一显眼的颜色即可。
像红色,蓝色等这种和背景区分比较明显的颜色都行。

多个折线一起展示的时候,选择区分较大的颜色。

分组比较的数据

对于这种数据,不同组之间的数据用区分较大的颜色。同组内的数组可以用相同色系的渐变色来显示。
image.png

结合地理信息相关的数据

类似的这类数据一般是定性展示,不像上面2种数据需要在Y轴严格定量。

比如结合地理信息展示降水的情况,通过颜色的深浅来表示降水的是多少,从图上可以一目了然哪里的降水量比较大。
image.png

总结

总之,颜色的选择就像排版一样,没有一定的法则,平时积累,多留心观察别人绘制的图形很重要。

看到比较清晰的图,好的展示方式,记录下来,尝试应用应用,培养出绘图的感觉,慢慢就可以绘制出有自己特色的图。

posted @ 2022-06-16 17:41  wang_yb  阅读(1607)  评论(0编辑  收藏  举报