一个非常流行的R语言调色板:RColorBrewer

R 语言有许多非常优秀的调色板,本文就介绍一个非常流行的,我也经常在用的调色板 R 包:RColorBrewer。

安装

go 复制代码
install.packages("RColorBrewer")

加载

go 复制代码
library(RColorBrewer)
library(knitr)

初探

go 复制代码
?RColorBrewer

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

go 复制代码
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 包中所有调色板的信息,先查看一下:

go 复制代码
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,对色盲是否友好

显示所有调色板:

go 复制代码
display.brewer.all(n=NULL, type="all", select=NULL, exact.n=TRUE, colorblindFriendly=FALSE)

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

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

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

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

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

go 复制代码
display.brewer.all(type = "seq")

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

go 复制代码
display.brewer.all(type = "div")

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

go 复制代码
display.brewer.all(type = "qual")

再探

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

go 复制代码
display.brewer.pal(9, 'Blues')

离散型调色板:

go 复制代码
display.brewer.pal(11, 'BrBG')

定性型调色板:

go 复制代码
display.brewer.pal(12, 'Paired')

使用

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

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

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

go 复制代码
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 等。基因组组装、注释,以及各种重测序业务都可以与简说基因合作。

相关推荐
arbboter38 分钟前
RestSharp基本使用方法
开发语言·c#·winform·curl·webapi·restsharp
AI原吾2 小时前
探索Python文档自动化的奥秘:`python-docx`库全解析
开发语言·python·自动化·python-docx
生信学习小达人2 小时前
对基因列表中批量的基因进行GO和KEGG注释
数据库
MrJson-架构师2 小时前
MongoDB自定义顺序排序
数据库·mongodb
new出一个对象2 小时前
react+hook+vite项目使用eletron打包成桌面应用+可以热更新
前端·react.js·前端框架
GoFly开发者2 小时前
GoFly框架使用vue flow流程图组件说明
前端·vue.js·流程图·vue flow流程图
刘艳兵的学习博客3 小时前
刘艳兵-DBA036-Oracle数据库中的触发器(Trigger)可以在以下哪种情况下自动执行?
运维·服务器·数据库·oracle·刘艳兵
幸运小圣3 小时前
Vue3 -- 环境变量的配置【项目集成3】
前端·vue.js
刘艳兵的学习博客3 小时前
刘艳兵-DBA037-在ASM实例中,如下哪个参数是必须的?
数据结构·数据库·oracle·database·刘艳兵
lx学习3 小时前
Python学习27天
开发语言·python·学习