R语言数据可视化之美:专业图表绘制指南
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.7 学术图表的色彩运用原理

1.7.1 颜色模式

1.RGB颜色模式

我们先从颜色模式开始讲解学术图表的色彩运用原理。在图像处理中,最常用的颜色空间是RGB模式,常用于颜色显示和图像处理。RGB颜色模式使用了红(red)、绿(green)和蓝(blue)来定义所给颜色中红色、绿色和蓝色的光的量。在24位图像中,每一种颜色成分都由0到255之间的数值表示。在位速率更高的图像中,如48位图像,值的范围更大。这些颜色成分的组合就定义了一种单一的颜色。RGB颜色模式采用三维坐标的模型形式,非常容易被理解,如图1-7-1(a)所示:原点到白色顶点的中轴线是灰度线,R、G、B三分量相等,强度可以由三分量的向量表示。我们可以用RGB来理解色彩、深浅、明暗变化。

图1-7-1 颜色模式对比https://en.wikipedia.org/wiki/HSL_and_HSV

(1)色彩变化:三个坐标轴RGB最大分量顶点与黄、紫、青(YMC)色顶点的连线;

(2)深浅变化:RGB顶点和CMY顶点到原点和白色顶点的中轴线的距离;

(3)明暗变化:中轴线的点的位置,到原点,就偏暗,到白色顶点就偏亮。

RGB模式也称为加色法混色模式。它是以RGB三色光互相叠加来实现混色的方法,因而适合于显示器等发光体的显示。其混色规律是:以等量的红、绿、蓝基色光混合。我们平时在绘图软件中调整颜色主要就是通过修改RGB颜色的三个数值,如图1-7-3(b)所示的Windows系统自带的选色器的右下角。

图1-7-3 HSL颜色模式的应用场景

2.HSL颜色模式

大家平时在颜色选择中还会遇到一种颜色模式:HSL(色相、饱和度、亮度),如图1-7-1(b)所示,在这里也给大家做简要的介绍。HSL色彩模式是基于人眼的一种颜色模式,是普及型设计软件中常见的色彩模式,其中:

(1)色相H(hue):代表的是人眼所能感知的颜色范围,这些颜色分布在一个平面的色相环上,取值范围是0°到360°的圆心角,每个角度可以代表一种颜色,如图1-7-2(a)所示。色相值的意义在于,当不改变光感的时,可以通过旋转色相环来改变颜色。在实际应用中,可用作基本参照的色相环上六大主色为:360°/0°红、60°黄、120°绿、180°青、240°蓝、300°洋红,它们在色相环上按照60°圆心角的间隔排列。

图1-7-2 HSL颜色模式分量的具体示例

(2)饱和度S(saturation):是指色彩的饱和度,它用0%至100%的值描述了相同色相、明度下色彩纯度的变化。数值越大,颜色中的灰色越少,颜色越鲜艳,呈现一种从理性(灰度)到感性(纯色)的变化,如图1-7-2(b)所示。

(3)亮度L(lightness):是色彩的明度,作用是控制色彩的明暗变化。通常是从0(黑)~100%(白)的百分比来度量的,数值越小,色彩越暗,越接近于黑色;数值越大,色彩越亮,越接近于白色,如图1-7-2(c)所示。

与HSL颜色模式类似的还有:HSB[色相(hue)、饱和度(saturation)、亮度(brightness)]有时也被称作HSV[色相(hue)、饱和度(saturation)、色调(value)],如图1-7-1(c)所示。比起RGB系统,HSL使用了更贴近人类感官直觉的方式来描述色彩,可以指导设计者更好地搭配色彩,在色彩搭配中经常被用到,如图1-7-3所示。

我们使用颜色时参考的色轮(色相轮)就是来源于HSB、HSL颜色模式或LUV颜色模式。配色网配色网的官网:http://www.peise.net就是基于HSL颜色空间模型自动生成高级配色方案的在线网站,如图1-7-4所示。HSL色彩空间可以更加直观地表达颜色。HSL是色相、饱和度和亮度这三个颜色属性的简称。色相是色彩的基本属性,就是人们平常所说的颜色名称,如紫色、青色、品红等。我们可以在一个圆环上表示出所有的色相。它不仅基于常用的场景给出合适的配色方案,而且还允许用户使用配色工具自行配置出极具个人风格又不失美观的方案,功能完备且实用。色彩搭配基本理论方法除了图1-7-5所说的三种外,还有:类似色(analogous)搭配、分裂互补色(split complement)搭配、矩形(rectangle)搭配和正方形(square)搭配等色彩搭配理论的详细说明:http://www.tigercolor.com/color-lab/color-theory/color-harmonies.htm

图1-7-4 配色网推出的高级配色工具3 配色网推出的高级配色工具官网:http://www.peise.net/tools/web

图1-7-5 三种不同颜色选择的色相环

色环又称作为色轮,是一种按照色相将色彩排列的呈现方式。当我们开始进行色环排列时,需要把原色按照等距关系排列,如图1-7-5的12色5轮色轮所示。

(1)单色(monochromatic)搭配:色相由暗、中、明三种色调组成的单色。单色搭配并没有形成颜色的层次,但形成了明暗的层次。这种搭配在设计中应用时,效果永远不错,其重要性也可见一斑。

(2)互补色(complement)搭配:如果颜色方案只包括两种颜色,就会选择色环上对立的2个颜色(在色轮上直线相对的两种颜色称为补色,比如红色和绿色),如图1-7-5(b)所示。互补色搭配在正式的设计中比较少见,主要由于它色彩之间强烈对比所产生的特殊性和不稳定,但是很显然的是,在各种色相搭配中,互补色搭配无疑是一种最突出的搭配,所以如果你想然你的作品特别引人注目,那互补色搭配或许是种最佳选择。

(3)三角形(triad)搭配:如果颜色方案只包括三种颜色,那么就会以120°的间隔选择3个颜色,如图1-7-5(c)所示。三角形搭配是一种能使得画面生动的搭配方式,即使使用了低饱和度的色彩也是如此。在使用三角形搭配的时候一定要选出一种色彩作为主色,另外两种作为辅助色。

3.LUV颜色模式

LUV色彩空间全称CIE 1976(L*, u*, v*)(也作CIELUV)色彩空间,L*表示物体亮度,u*和v*是色度,如图1-7-6(a)所示。于1976年由国际照明委员会(International Commission on Illumination)提出,由CIE XYZ颜色空间经简单变换得到,具有视觉统一性。对于一般的图像,u*和v*的取值范围为-100到+100,亮度为0到100。类似的色彩空间有CIELAB,如图1-7-6(b)所示。

图1-7-6 不同颜色模式的三维展示图片来源:https://commons.wikimedia.org/wiki/File:SRGB_gamut_within_CIExyY_color_space_isosurface.png#/media/File:Visible_gamut_within_CIELAB_color_space_D65_whitepoint_mesh.png

R ggplot2包绘图默认的颜色主题方案如图1-7-7所示,色轮为HSLuv颜色模式。HSLuv是相对于HSL颜色空间模式更加人性化的选择。当把CIELUV颜色空间转换到极坐标系时,就类似于HSL颜色空间模式。它拓展了CIELUV颜色模式,从而新的饱和度(saturation)分量可以允许用户间隔选择色度(chroma)http://www.hsluv.org

图1-7-7 R ggplot2默认颜色主题(HSLuv颜色空间)

但是HSLuv颜色模式又不同于CIELUV LCh颜色模式。CIELUV LCh颜色模式有一部分颜色不能显示,比如饱和度高的深黄色HSLuvvs. HSL:http://www.hsluv.org/comparison。图1-7-7离散的颜色主题也可以通过函数gg_color_hue(n)获取,其中n表示输出的颜色总数:

        gg_color_hue <- function(n){hues = seq(15, 375, length = n + 1); hcl(h = hues, l = 65, c = 100)[1:n]}