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

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

作者头像
简说基因
发布于 2022-11-11 08:21:40
发布于 2022-11-11 08:21:40
2.8K00
代码可运行
举报
文章被收录于专栏:简说基因简说基因
运行总次数:0
代码可运行

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

安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
install.packages("RColorBrewer")

加载

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(RColorBrewer)
library(knitr)

初探

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
?RColorBrewer

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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
代码运行次数:0
运行
AI代码解释
复制
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
代码运行次数:0
运行
AI代码解释
复制
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
代码运行次数:0
运行
AI代码解释
复制
display.brewer.all(type = "seq")

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
display.brewer.all(type = "div")

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
display.brewer.all(type = "qual")

再探

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
display.brewer.pal(9, 'Blues')

离散型调色板:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
display.brewer.pal(11, 'BrBG')

定性型调色板:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
display.brewer.pal(12, 'Paired')

使用

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
brewer.pal(5, 'Paired')
## [1] "#A6CEE3" "#1F78B4" "#B2DF8A" "#33A02C" "#FB9A99"

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
DevOps工具介绍连载(31)——Microsoft Team Foundation Server(TFS)
Team Foundation Server(TFS)是一种为 Microsoft 产品提供 源代码管理、数据收集、报告和项目跟踪,而为协作软件开发的项目。它是Microsoft应用程序生命周期管理(ALM)工具的核心协作平台,简单的说它是管理和开发软件项目的整个生命周期的平台工具。
顾翔
2020/04/10
2.1K0
DevOps工具介绍连载(31)——Microsoft Team Foundation Server(TFS)
图文并茂介绍在VS2010里使用TFS2010
上面的两篇文章Team Foundation Server 2010 – Basic Installation和TFS2010 Team Project Collections 已经讲述了安装TFS2
张善友
2018/01/29
1.6K0
Team Foundation Server 2010 – Basic Installation
Microsoft Team Foundation Server 2010在安装上非常简单,除了在安装的容易程度上做了很大的简化,提供了向导式的配置,它还针对微软一个早年广为使用的Visual SourceSafe,提供一个非常简单的安装和设置好的安装示范– Basic Configuration,让Visual SourceSafe的使用者通过简单的安装后,马上就可以使用Microsoft Team Foundation Server 2010。 通过一个标准的安装步骤来说明,希望大家能快速的了解 Bas
张善友
2018/01/19
8940
Team Foundation Server 2010 – Basic Installation
tfs安装教程_怎么安装2010office激活成功教程版
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说tfs安装教程_怎么安装2010office激活成功教程版,希望能够帮助大家进步!!!
Java架构师必看
2022/10/05
4.6K0
tfs安装教程_怎么安装2010office激活成功教程版
TFS2010 Team Project Collections
Team Foundation Server 2010有一个改进比较大的地方就是Team Project Collections,在TFS 2010 在Team Project之上,多了一个Colle
张善友
2018/01/19
1K0
TFS2010  Team Project Collections
让Team Foundation Server/TFS自动记住用户名密码解决方案
在使用Team Foundation Server(以下简称TFS) 的时候,在每次打开Visual Studio TFS时候,需要输入用户名和秘密,比较麻烦。 现提供一种方法可以解决这个问题: 依次
磊哥
2018/05/08
1.1K0
让Team Foundation Server/TFS自动记住用户名密码解决方案
使用Azure DevOps持续集成GitHub项目
微软的Azure DevOps是一款软件开发管理工具,整合了需求、代码、编译、测试、发布等所有功能于一身。今天我们就来看看如何用Azure DevOps对自己GitHub上的项目做持续集成,并能在GitHub显示最新编译状态。
Edi Wang
2019/07/08
1.3K0
使用Azure DevOps持续集成GitHub项目
通过 Linux 容器进行虚拟化
简单介绍 Linux 容器是一种轻量级“虚拟化”方法,用于在单个控制主机上同一时候执行多个虚拟装置(容器)。还有一个可用来描写叙述 Linux 容器所执行的操作的术语是“容器化”。 Linux 容器提供操作系统级别的虚拟化,当中的内核控制隔离的容器。容器通过内核控制组 (cgroup) 和内核命名空间进行隔离。通过 Xen 和 KVM 等其它完整虚拟化解决方式,虚拟化子系统可模拟完整的硬件环境。
全栈程序员站长
2022/07/12
1.6K0
通过 Linux 容器进行虚拟化
tfs安装教程_tfs4全称
索引: 介绍 安装操作系统 准备安装过程中的需要的用户账户 安装IIS 7.0 安装SQL Server 2008 安装SQL Server 2008 SP1补丁 安装TFS 2010 配置TFS 2010(以高级配置为例) 配置TFS Build服务 安装序列号
全栈程序员站长
2022/11/09
1.9K0
java RMI入门指南「建议收藏」
RMI全称是Remote Method Invocation-远程方法调用,Java RMI在JDK1.1中实现的,其威力就体如今它强大的开发分布式网络应用的能力上,是纯Java的网络分布式应用系统的核心解决方式之中的一个。事实上它能够被看作是RPC的Java版本号。可是传统RPC并不能非常好地应用于分布式对象系统。而Java RMI 则支持存储于不同地址空间的程序级对象之间彼此进行通信。实现远程对象之间的无缝远程调用。
全栈程序员站长
2022/07/08
1.2K0
java RMI入门指南「建议收藏」
g4e基础篇#3 Git安装与配置
现在你已经对Git有了最基本的了解,现在让我们开始动手开始安装和配置Git环境。 Git工具包括Git命令行工具,图形化工具和服务器环境;在我们这个教程中,我们会使用以下软件配置我们的环境: • Windows 操作系统(推荐使用Windows 10) • Git for Windows (2.15或者以上版本) • Visual Studio 2017 社区免费版 • Visual Studio Code • Cmder (Windows上最好用的命令行工具) • Visual Studio Team S
企鹅号小编
2018/02/06
2.3K0
g4e基础篇#3 Git安装与配置
TFS2010安装部署
以下是我的安装步骤,如果有什么遗漏或者疑难问题,欢迎大家留言,我们一起想办法解决。
全栈程序员站长
2022/11/09
2K0
2019年20个最佳版本控制系统
版本控制工具的核心是以简单的方式工作。它跟踪所做的协作更改,并确保每个协作者都知道并可以访问项目的最新版本。由于不同的项目各不相同,VCS工具也有各种产品。此外,该行业的最新趋势也在改变其部署方式。在这篇文章中,我们整理了20个最佳版本控制系统。
Blue姐
2019/06/28
4.4K1
jenkins+maven +svn+tomcat7集群部署(一)
在网上看了好多有关集群部署的文章,感觉都不是太连贯,非常多仅仅是给你说怎么安装而已,可是过程中遇到的问题真不少,可是也攻克了非常多问题,希望我的文章可以帮到那些想学习的人吧,jenkins主要是攻克了一个集群项目和节点管理的工具,可以方便的把项目分发到个个容器里面去,省去了集群的时候须要一个个往tomcat里面放war包,同一时候也可以对集群节点的一个状态进行管理。
全栈程序员站长
2022/07/12
1700
jenkins+maven +svn+tomcat7集群部署(一)
VSTS知识整理
原文:http://www.qddn.net/blogs/xumingxsh/archive/2006/01/19/4513.aspx 学习VSTS有一段时间,打算把学到的东西整理出来.看看VSTS是
张善友
2018/01/22
3.7K0
vs2008连接tfs2013_VS连接SQL网页登录
3.Install Visual Studio 2008 SP1
全栈程序员站长
2022/11/09
9240
GitFlow 流程
Git Flow 是构建在 Git 之上的一个组织、管理软件开发活动的模型。Git Flow 是一套使用 Git 进行源代码管理时的一套行为规范和,通过利用 Git 创建和管理分支的能力,为每个分支设定具有特定的含义名称,并将软件生命周期中的各类活动归并到不同的分支上。实现了软件开发过程不同操作的相互隔离。这种软件开发的活动模型被称为 “Git Flow”。
molier
2022/11/03
5500
GitFlow 流程
TFS源代码管理的8大注意事项
TFS具体使用请参考此链接:http://msdn.microsoft.com/zh-cn/library/ms181382.aspx
雪雁-心莱科技
2018/12/27
1.7K0
Git使用之基于SSH的Gitserver的client配置(下篇)[通俗易懂]
点击 文件-Load Private Key,选择须要转换的密钥文件(原有的Copssh私钥ppk及相应的password由管理员分发给大家。请大家在自己本机保存好私钥。私钥是訪问gitserver的凭证)
全栈程序员站长
2022/07/10
4210
Git使用之基于SSH的Gitserver的client配置(下篇)[通俗易懂]
IT入门知识第三部分《软件开发》(3/10)
在当今数字化时代,软件开发已成为推动创新和企业发展的核心动力。本文将深入探讨软件开发的生命周期、方法论以及版本控制系统,为读者提供全面的软件开发知识。
正在走向自律
2024/12/18
2380
IT入门知识第三部分《软件开发》(3/10)
相关推荐
DevOps工具介绍连载(31)——Microsoft Team Foundation Server(TFS)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档