R语言作图好看的秘籍:RColorBrewer调色板详解

朋友们说我作图的配色还可以,这其实不是我的功劳,是因为 R 语言有许多非常优秀的调色板,本文就介绍一个非常流行的,我也经常在用的调色板 R 包:RColorBrewer。

安装

install.packages("RColorBrewer")

加载

library(RColorBrewer)
library(knitr)

初探

?RColorBrewer

在帮助页面可以看到以下信息:

brewer.pal(n, name)
display.brewer.pal(n, name)
display.brewer.all(n=NULL, type="all", select=NULL, exact.n=TRUE, colorblindFriendly=FALSE)
brewer.pal.info

数据框brewer.pal.info记录了 RColorBrewer 包中所有调色板的信息,先查看一下:

kable(brewer.pal.info)

maxcolors category colorblind
BrBG 11 div TRUE
PiYG 11 div TRUE
PRGn 11 div TRUE
PuOr 11 div TRUE
RdBu 11 div TRUE
RdGy 11 div FALSE
RdYlBu 11 div TRUE
RdYlGn 11 div FALSE
Spectral 11 div FALSE
Accent 8 qual FALSE
Dark2 8 qual TRUE
Paired 12 qual TRUE
Pastel1 9 qual FALSE
Pastel2 8 qual FALSE
Set1 9 qual FALSE
Set2 8 qual TRUE
Set3 12 qual FALSE
Blues 9 seq TRUE
BuGn 9 seq TRUE
BuPu 9 seq TRUE
GnBu 9 seq TRUE
Greens 9 seq TRUE
Greys 9 seq TRUE
Oranges 9 seq TRUE
OrRd 9 seq TRUE
PuBu 9 seq TRUE
PuBuGn 9 seq TRUE
PuRd 9 seq TRUE
Purples 9 seq TRUE
RdPu 9 seq TRUE
Reds 9 seq TRUE
YlGn 9 seq TRUE
YlGnBu 9 seq TRUE
YlOrBr 9 seq TRUE
YlOrRd 9 seq TRUE
  • 行名,是调色板的名称,共有 35 个

  • maxcolors,调色板中的颜色数

  • category,调色板分类,有:div, qual, seq 三种

  • colorblind,对色盲是否友好

显示所有调色板:

display.brewer.all(n=NULL, type="all", select=NULL, exact.n=TRUE, colorblindFriendly=FALSE)
R语言作图好看的秘籍:RColorBrewer调色板详解_第1张图片

可见,3 类调色板各有特色,分开来看:

  1. 连续型(sequential):单渐变色,一种颜色由浅到深。

  2. 离散型(divergent):双渐变色,一种颜色到另外一种颜色的渐变。

  3. 定性型(qualitative):区分色,几种区分度很高的颜色组合。

连续型(sequential)调色板有 18 个,每个 9 个渐变色,通常用来展示连续型变量的大小。

display.brewer.all(type = "seq")
R语言作图好看的秘籍:RColorBrewer调色板详解_第2张图片

离散型(divergent)调色板有 9 个,每个有 11 种颜色,其特点是两端的颜色较深,而中间的颜色较浅,可用于展示极端数值。

display.brewer.all(type = "div")
R语言作图好看的秘籍:RColorBrewer调色板详解_第3张图片

定性型(qualitative)调色板有 8 个,每个的颜色从 8 个到 12 个不等,前两类调色板适合展示定量数据,而定性型调色板适合展示分类数据,其中“Paired”调色板是我比较喜欢用的。

display.brewer.all(type = "qual")
R语言作图好看的秘籍:RColorBrewer调色板详解_第4张图片

再探

还可以调用display.brewer.pal函数来显示某一个调色板中的颜色,比如展示渐变色调色板:

display.brewer.pal(9, 'Blues')
R语言作图好看的秘籍:RColorBrewer调色板详解_第5张图片

离散型调色板:

display.brewer.pal(11, 'BrBG')
R语言作图好看的秘籍:RColorBrewer调色板详解_第6张图片

定性型调色板:

display.brewer.pal(12, 'Paired')
R语言作图好看的秘籍:RColorBrewer调色板详解_第7张图片

使用

前面展示了各种调色板长什么样,那要怎么使用这些调色板呢?可以通过brewer.pal函数实现,比如从“Paired”调色板中连续取 5 个颜色:

brewer.pal(5, 'Paired')
## [1] "#A6CEE3" "#1F78B4" "#B2DF8A" "#33A02C" "#FB9A99"

当然,也可以挑选调色板中的任意颜色:

brewer.pal(12, 'Paired')[c(1, 3, 5)]
## [1] "#A6CEE3" "#B2DF8A" "#FB9A99"

总结

RColorBrewer 调色板包在 R 语言中是非常受欢迎的,它提供了 3 种不同类型的调色板:

  • 连续型(sequential):单渐变色

  • 离散型(divergent):双渐变色

  • 定性型(qualitative):区分色

所谓使用调色板,本质上就是从调色板中得到预先定义好的颜色编码(通常是十六进制的),你完全可以从其他地方获得,但调色板提供了一定的便利。

你可能感兴趣的:(java,html,js,python,css)