前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言作图好看的秘籍:RColorBrewer调色板详解

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

作者头像
简说基因
发布2022-11-11 16:21:40
1.9K0
发布2022-11-11 16:21:40
举报
文章被收录于专栏:简说基因

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

安装

代码语言:javascript
复制
install.packages("RColorBrewer")

加载

代码语言:javascript
复制
library(RColorBrewer)
library(knitr)

初探

代码语言:javascript
复制
?RColorBrewer

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

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

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

显示所有调色板:

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

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

  1. 连续型(sequential):单渐变色,一种颜色由浅到深。
  2. 离散型(divergent):双渐变色,一种颜色到另外一种颜色的渐变。
  3. 定性型(qualitative):区分色,几种区分度很高的颜色组合。

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

代码语言:javascript
复制
display.brewer.all(type = "seq")

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

代码语言:javascript
复制
display.brewer.all(type = "div")

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

代码语言:javascript
复制
display.brewer.all(type = "qual")

再探

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

代码语言:javascript
复制
display.brewer.pal(9, 'Blues')

离散型调色板:

代码语言:javascript
复制
display.brewer.pal(11, 'BrBG')

定性型调色板:

代码语言:javascript
复制
display.brewer.pal(12, 'Paired')

使用

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

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

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

代码语言:javascript
复制
brewer.pal(12, 'Paired')[c(1, 3, 5)]
## [1] "#A6CEE3" "#B2DF8A" "#FB9A99"

总结

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

  • 连续型(sequential):单渐变色
  • 离散型(divergent):双渐变色
  • 定性型(qualitative):区分色

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-07-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 简说基因 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装
  • 加载
  • 初探
  • 再探
  • 使用
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档