matplotlib可视化系列之
颜色和排版一样,看似简单,其实非常复杂,往大了说,涉及到艺术和品味,不像数学公式,物理定理那样,是非分明。
但是,对 matplotlib 中的颜色有些基本的了解,可以让绘出的图形颜色不至于太突兀。
虽不能说选出完美的颜色搭配,至少是看着舒服,醒目的颜色搭配。
颜色的种类
颜色一般用 RGB 来表示,颜色空间主要有3种:
- RGB
- sRGB
- Lab
3种颜色空间都可以用 6位的16进制表示,只是显示出来的有些微的差别,在绘图时,一定要确定好自己用的是哪个颜色空间。
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)]
颜色的运用
一般来说,颜色的运用根据数据的情况来定。
序列性质的数据
比如按照年份变化的数据,在折线图中使用单一显眼的颜色即可。
像红色,蓝色等这种和背景区分比较明显的颜色都行。
多个折线一起展示的时候,选择区分较大的颜色。
分组比较的数据
对于这种数据,不同组之间的数据用区分较大的颜色。同组内的数组可以用相同色系的渐变色来显示。
结合地理信息相关的数据
类似的这类数据一般是定性展示,不像上面2种数据需要在Y轴严格定量。
比如结合地理信息展示降水的情况,通过颜色的深浅来表示降水的是多少,从图上可以一目了然哪里的降水量比较大。
总结
总之,颜色的选择就像排版一样,没有一定的法则,平时积累,多留心观察别人绘制的图形很重要。
看到比较清晰的图,好的展示方式,记录下来,尝试应用应用,培养出绘图的感觉,慢慢就可以绘制出有自己特色的图。