至今我们针对一组数组或列表所绘制的图表皆是单色,以ch1_23.py第8行为例,色彩设定是color=(0,1,0),这是固定颜色的用法。在色彩的使用中,允许色彩随着数据而做变化,此时色彩的变化是根据所设定的 色彩映射值 (color mapping)而定,例如有一个 色彩映射值 是 rainbow, 内容如下:
在数组或列表中,数值低的值颜色在左边,会随数值变高往右边移动。当然在程序设计中,我们需要在scatter( )中增加color设定参数c,这时color的值就变成一个数组或列表。然后我们需要增加参数 cmap (英文是color map),这个参数主要是指定使用哪一种 色彩映射值 。
程序实例ch1_26.py: 色彩映射的应用。
执行结果
色彩映射也可以设定根据 x 轴的值做变化,或根据 y 轴的值做变化,整个效果是不一样的。
程序实例ch1_27.py: 重新设计ch1_23.py,主要是设定固定点的宽度为50,将色彩改为依 y 轴值变化,同时使用hsv色彩映射表。
执行结果 如下方左图。
程序实例ch1_28.py: 重新设计ch1_27.py,主要是将色彩改为依 x 轴值变化。
执行结果 如上右图。
目前matplotlib协会所提供的色彩映射内容如下:
序列色彩映射表
序列2色彩映射表
直觉一致的色彩映射表
发散式的色彩映射表
定性色彩映射表
杂项色彩映射表
在大数据研究应用中,可以将数据以图表显示,然后用色彩判断整个数据的趋势。在结束本节之前,笔者举一个使用colormap绘制数组数据的实例,这个程序会使用下列方法。
imshow(img, cmap=‘xx’)
参数img可以是图片,也可以数组数据,此例是数组数据。这个函数常用在机器学习检测神经网络的输出中。
程序实例ch1_29.py: 绘制矩形数组数据。
执行结果