史上最全的图表色彩运用原理1.1 RGB颜色模型我们先从颜色模型开始讲解学术图表的色彩运用原理。
在图像处理中,最常用的颜色空间是RGB模型,常用于颜色显示和图像处理。
RGB 颜色模型使用了颜色成分红(Red)、绿(Green)和蓝(Blue)来定义所给颜色中红色、绿色和蓝色的光的量。
在24位图像中,每一颜色成分都由0到255之间的数值表示。
在位速率更高的图像中,如48位图像,值的范围更大。
这些颜色成分的组合就定义了一种单一的颜色。
RGB颜色模型采用三维坐标的模型形式,非常容易被理解,如图1-1(a)所示:原点到白色顶点的中轴线是灰度线,R、G、B三分量相等,强度可以由三分量的向量表示。
我们可以用RGB来理解色彩、深浅、明暗变化:(1) 色彩变化:三个坐标轴RGB最大分量顶点与黄紫青YMC色顶点的连线;(2) 深浅变化:RGB顶点和CMY顶点到原点和白色顶点的中轴线的距离;(3) 明暗变化:中轴线的点的位置,到原点,就偏暗,到白色顶点就偏亮。
RGB模型也称为加色法混色模型。
它是以RGB三色光互相叠加来实现混色的方法,因而适合于显示器等发光体的显示。
其混色规律是:以等量的红、绿、蓝基色光混合时。
我们平时在绘图软件中调整颜色主要就是通过修改RGB颜色的三个数值,如图1-2(b)Windows 系统自带的选色器的右下角所示。
图1-1 颜色模型对比1.2 HSB颜色模型大家平时在颜色选择中还会遇到一种颜色模型:HSB,在这里也给大家做简要的介绍。
HSB 色彩模式是基于人眼的一种颜色模式,是普及型设计软件中常见的色彩模式。
,其中(1) 色相H ( Hue ):在0~360°的标准色环上,按照角度值标识。
比如红是0°、橙色是30°等,如(2) 饱和度S ( saturation ):是指颜色的强度或纯度。
饱和度表示色相中彩色成分所占的比例,用从0%(灰色)~100%(完全饱和)的百分比来度量。
在色立面上饱和度是从左向右逐渐增加的,左边线为0%,右边线为100%,如:。
(3) 亮度B ( brightness ):是颜色的明暗程度,通常是从0(黑)~100%(白)的百分比来度量的,在色立面中从上至下逐渐递减,上边线为100%,下边线为0% ,如:。
HSB有时也作HSV(色相(Hue)、饱和度(Saturation)、色调(Value ))、HSL(色相(Hue)、饱和度(Saturation)、L(lightness))。
比起RGB 系统,HSB 使用了更贴近人类感官直觉的方式来描述色彩,可以指导设计者更好地搭配色彩,会在色彩搭配中经常用到,如图1-2 所示。
(a)Microsoft Office默认的选色器(b) Windows 系统自带的选色器图1-2 HSB的应用场景平时我们颜色参考的色轮(色相轮)就是来源于HSB、HSL颜色模型或Luv颜色模型。
Rggplot2包绘图默认的颜色主题方案如图1-3所示,色轮为Luv颜色模型。
LUV色彩空间全称CIE1976(L*,u*,v*)(也作CIELUV)色彩空间,L*表示物体亮度,u*和v*是色度。
于1976年由国际照明委员会(InternationalCommission on Illumination)提出,由CIE XYZ 空间经简单变换得到,具视觉统一性。
类似的色彩空间有CIELAB。
对于一般的图像,u*和v*的取值范围为-100到+100,亮度为0到100。
图1-3 R ggplot2默认颜色主题(Acolour wheel illustrating the choice of five equally spaced colours. This isthedefault scale for discrete variables.)配色网()就是基于颜色搭配原理设计的颜色主题方案自动生成在线网站。
它不仅基于常用的场景给出合适的配色方案,而且还允许用户使用配色工具自行配置出极具个人风格又不失美观的方案,功能完备且实用。
色彩搭配基本理论方法除了图1-5所说的三种外,还有:类似色搭配(Analogous)、分裂互补色搭配(Split complement)、矩形搭配(Rectangle (tetradic))和正方形搭配(Square)等。
(更多色彩搭配理论:(/color-lab/color-theory/color-har monies.htm )。
图1-4 配色网推出的高级配色工具(/tools/web/)色环又称作为色轮,是种按照色相把色彩排列的呈现方式。
当我们开始进行色环排列时,需要把原色按照等距关系排列,如图1-5 的12色5轮色轮所示。
1.单色搭配(Monochromatic):这是一种色相由暗、中、明三种色调组成。
这就是单色。
单色搭配上并没有形成颜色的层次,但形成了明暗的层次。
这种搭配在设计中应用时,出来的效果永远不错,其重要性也可见一斑。
2.补色搭配(Complement):如果颜色方案只包括两种颜色,就会选择色环上对立的2个颜色(在色轮上直线相对的两种颜色称为补色,比如红色和绿色),如图(b)所示。
互补色搭配在正式的设计中比较少见,主要由于它色彩之间强烈对比所产生的特殊性和不稳定,但是很显然的是,在各种色相搭配中,互补色搭配无疑是一种最突出的搭配,所以如果你想然你的作品特别引人注目,那互补色搭配或许是种最佳选择。
3.三角形搭配(Triad):如果颜色方案只包括三种颜色,那么就会以120°的间隔选择3个颜色,如图(c)所示。
三角形搭配是种能使得画面生动的搭配方式,即使使用了低饱和度的色彩。
在使用三角形搭配的时候一定要选出一种色彩作为主色,另外两种作为辅助色。
以此类推,就得到了图1-3 R ggplot2默认颜色主题方案。
(a)单色搭配(Monochromatic);(b)补色搭配(Complement);(c)三角形搭配(Triad)图1-5 三种不同颜色选择的色相环1.3 颜色主题的搭配原理我们对相同的数据图表对比不同的颜色效果,如图1-6带散点分布的箱型图所示。
(a)-(c)的颜色主题方案分别对应的软件为Excel、Origin和R (ggplot2),图(c)使用的就是图1-3 所示的4种颜色的颜色主题方案。
所谓“人靠衣装,佛靠金装”,符合美学规律设计的颜色主题方案往往能很大程度上提高图表的美观程度,如图(c)所示。
所以,我们很有必要研究与讲解颜色主题方案的搭配。
(a)Excel默认颜色主题;(b)Origin默认颜色主题;(c) R ggplot2默认颜色主题R语言学习- 箱线图(小提琴图、抖动图、区域散点图)R语言学习- 箱线图一步法图1-6 不同颜色主题的图表效果R语言作为经典的数据可视化语言,很大的优势就在于它的包(如经典的RColorBrewer包,用法为colorRampPalette(c('springgreen1', 'slateblue1','coral1'))(5) 会生成5种颜色,从绿到黄。
)提供了丰富的颜色主题方案,如图1-7所示。
Origin 2017、Python(Seaborn 包)等绘图软件都有参考与引入改颜色主题方案。
该颜色主题方案主要可以分成三大类:单色系、多色系和双色渐变系(这个分类会在后文中详细说明)。
或许你不知道,其实RColorBrewer包的颜色主题方案系列来源于一个颜色主题方案搭配网站:ColorBrewer 2.0(/#type=sequential&scheme= BuGn&n=3),如图1-7-2所示。
该网站提供了大量的颜色搭配主题方案,可以供用户学习与使用。
强烈建议大家登陆这个网站,自己操作与观看这里面的配色方案,由于版面有限不能全面地介绍ColorBrewer 2.0配色的各个系列与功能。
从另一个角度说,可以将图1-7看成ColorBrewer 2.0网页颜色主题系列方案的精华版。
图1-7 RColorBrewer包的颜色主题方案(https:///timothyrenner/ColorBrewer.jl)图1-7-2 ColorBrewer2.0网页界面(/#type=sequential&scheme= BuGn&n=3)ColorBrewer 2.0的配色功能如此强大,它的颜色搭配原理又是什么样呢?其实,它的原理如图1-8所示:通过排列组合实现二值色系、单色系、双色渐变系和多色系等颜色主题方案。
其中,最为常用的三种颜色搭配方法如图1-9所示。
圆形分布的多色系(circular color systems)是一类特殊的多色系配色方案,如Python Seabron包的hls 颜色主题方案。
这类颜色方案适合时间类的周期性数据,如小时、天、月、年等有关的时序数据。
图1-8 图表绘制的颜色搭配原理(/cab38/ColorSch/Schemes. html)图1-9 图表绘制的颜色搭配三原则1.4 学术图表的颜色主题我们毕竟不是专业的设计师,专业的设计师懂的自己根据配色原理与色相轮搭配颜色。
如果自己配色,既费时费力,也不一定达到美观的效果。
幸好,图1-3和1-7提供了诸多颜色主题方案供大家参考与使用。
另外,R语言Wesanderson包、PythonSeaborn包和Colorbrewer2网页也提供了一系列新的颜色主题方案。
尤其需要强调的是R语言ggsci包提供了几个经典期刊的推荐颜色主题方案,包括《Nature》、《Science》等学术期刊。
但是,这并不是说投稿这些期刊必须使用这些配色方案,而是说推荐使用,当然你可以选择使用其他颜色主题方案。
所以,这些罗列了这么多颜色主题方案,毕竟“萝卜白菜,各有所爱”你只要选择1~2种自己喜欢的,然后就可以应用到自己绘制的学术图表中。
当你问我这幅图表使用哪个颜色主题方案比较美观的时候,我也没法确定。
实践出真知。
另外,由于不同的数据与图表,可能自己要多尝试不同的颜色主题方案,才能找出哪个颜色主题适合这幅图表。
Wesanderson包:https:///karthik/wesanderson Python Seabron包: /tutorial/color_palettes.html Colorbrewer2:/#type=qualitative&scheme=S et2&n=8ggsci包:https:///web/packages/ggsci/vignettes/gg sci.html1.5 颜色方案的拾取使用刚刚提供给大家这么多颜色主题方案,怎么使用呢?在绘图软件中修改颜色,一般是通过RGB数值设定。