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)
可见,3 类调色板各有特色,分开来看:
连续型(sequential):单渐变色,一种颜色由浅到深。
离散型(divergent):双渐变色,一种颜色到另外一种颜色的渐变。
定性型(qualitative):区分色,几种区分度很高的颜色组合。
连续型(sequential)调色板有 18 个,每个 9 个渐变色,通常用来展示连续型变量的大小。
display.brewer.all(type = "seq")
离散型(divergent)调色板有 9 个,每个有 11 种颜色,其特点是两端的颜色较深,而中间的颜色较浅,可用于展示极端数值。
display.brewer.all(type = "div")
定性型(qualitative)调色板有 8 个,每个的颜色从 8 个到 12 个不等,前两类调色板适合展示定量数据,而定性型调色板适合展示分类数据,其中“Paired”调色板是我比较喜欢用的。
display.brewer.all(type = "qual")
再探
还可以调用display.brewer.pal
函数来显示某一个调色板中的颜色,比如展示渐变色调色板:
display.brewer.pal(9, 'Blues')
离散型调色板:
display.brewer.pal(11, 'BrBG')
定性型调色板:
display.brewer.pal(12, 'Paired')
使用
前面展示了各种调色板长什么样,那要怎么使用这些调色板呢?可以通过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):区分色
所谓使用调色板,本质上就是从调色板中得到预先定义好的颜色编码(通常是十六进制的),你完全可以从其他地方获得,但调色板提供了一定的便利。
关于简说基因
生信平台
Galaxy中国(UseGalaxy.cn)致力于打造中国人的云上生物信息基础设施。大量在线工具免费使用。无需安装,用完即走。活跃的用户社区,随时交流使用心得。
生信培训
简说基因的生信培训班,荣获学员的一致好评。如果你也对生物信息学感兴趣,欢迎来跟简说基因,学真生信。
生信分析
我们能够承接所有 NGS 组学数据分析业务,包括但不限于 WGS / WES / RNA-seq 等。基因组组装、注释,以及各种重测序业务都可以与简说基因合作。