关于配色的话题,已经聊过很多次了,但是就像是之前说过的,对于图形可视化而言,配色决定着作品的“颜值”,谈再多次都不嫌多。
今天是R语言配色系统综合篇的上篇(当然是有下篇啦,下篇将会教你如何优雅的提取各种高大上配色主题,作为己用。经过几天的研究,小魔方已经发现了如果将各种高质量配色包中的主题色板通过函数的形式在高级绘图系统和低级绘图系统之间相互共享)。
今天的内容主要包含两部分:
- R预置色彩系统的色板
- R语言自定义颜色调用
其实在R语言的色彩系统中,有两大类颜色系统,一类是预设的调色盘,通过调色盘,你可以获取任意数量的色彩组合。
R预置色彩系统的色板
R语言的预设调色板一共有五个:
- rainbow
- heat.colors
- terrain.colors
- topo.colors
- cm.colors
这五个调色板就像是一个大染缸一样,排列着无数的色彩组合。取色也很简单,就是使用预设色盘名称+色彩数据即可:
|
|
以上既是通过名称+数量的方式获取的一组10个颜色,同样我们可以通过scales包中show_col函数查看具体的颜色效果:
|
|
接下来我用一个版面矩阵将五个色盘颜色全部显示出来:
|
|
运行以上代码之后,你会看到绘图面板上出现的五个色板色彩过渡效果,第一个rainbow是运用最为频繁的的色板,也是我们所熟知的彩虹七色,其余四个是截取rainbow色斑的某一段暖色系、冷色系或者单色做的渐变过渡。
五种颜色调用方法非常简单,名称+数量就可以。而且你也可以通过文本函数将不同色盘中截取的颜色相互混合使用。
|
|
|
|
以上通过将两个色板提取出来的颜色进行组合,创造出了新的色彩组合。
R语言自定义颜色调用
接下来介绍R语言的第二大色彩系统,自定义颜色。
R语言系统中内置了657中带有自定义名称的颜色(就是我们平时所熟知的blue、red、grey等)。
通过colors()函数可以查看这657种颜色的色值及名称类别信息:
|
|
|
|
count函数列出了所有657中颜色名称。
使用show_col函数可以查看所有657中颜色的图形显示效果
show_col(cl,labels=F)#因为颜色数量太多,使用labels=F参数略去颜色色值信息。
使用colorRampPalette函数可以自由调用任何一种自定义颜色。
|
|
color函数的介绍如上,具体的参数解释可以通过?colorRampPalette查看他的官方文档,这里我们直接取色。
除了这两大色彩系统系统之外,R语言也支持直接以色值(HEX)形式输入的颜色,只需使用c()函数生成色值组成的字符向量,R语言就可自动识别。
还有一些特殊用途的grey函数,hsv函数等等可以通过设定灰度或者色调、饱和度、亮度等等方式获取颜色使用,这些由于过于繁琐,这里就略去了,甘感兴趣的小盆友可以自己探索。
当然,这里还没有讲解到那些已经做得很成熟的主题配色包,比如ggthemes(专为ggplot2开发的主题包)、RColorbrewer(里面存放着大量高质量的配色方案)、以及ggtech(是一个科技主题的配色包,主要供ggplot函数调用)。
通过scales包中的brewer.col,我们可以提取出以上各包的配色主题,来用于我们的可视化图表中,不光是ggplot绘图系统,即便是在基础绘图系统(base::plot)中也是可以调用这些色彩方案的,好了这里先放个彩蛋,下期再见!
联系方式:
wechat:ljty1991
Mail:578708965@qq.com
个人公众号:数据小魔方(datamofang)
qq交流群:[魔方学院]298236508
个人简介:
杜雨
财经专业研究僧;
伪数据可视化达人;
文科背景的编程小白;
喜欢研究商务图表与地理信息数据可视化,爱倒腾PowerBI、SAP DashBoard、Tableau、R ggplot2、Think-cell chart等诸如此类的数据可视化软件,创建并运营微信公众号“数据小魔方”。
Mail:578708965@qq.com
备注信息:
本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。