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

news2025/1/13 2:58:07

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)

maxcolorscategorycolorblind
BrBG11divTRUE
PiYG11divTRUE
PRGn11divTRUE
PuOr11divTRUE
RdBu11divTRUE
RdGy11divFALSE
RdYlBu11divTRUE
RdYlGn11divFALSE
Spectral11divFALSE
Accent8qualFALSE
Dark28qualTRUE
Paired12qualTRUE
Pastel19qualFALSE
Pastel28qualFALSE
Set19qualFALSE
Set28qualTRUE
Set312qualFALSE
Blues9seqTRUE
BuGn9seqTRUE
BuPu9seqTRUE
GnBu9seqTRUE
Greens9seqTRUE
Greys9seqTRUE
Oranges9seqTRUE
OrRd9seqTRUE
PuBu9seqTRUE
PuBuGn9seqTRUE
PuRd9seqTRUE
Purples9seqTRUE
RdPu9seqTRUE
Reds9seqTRUE
YlGn9seqTRUE
YlGnBu9seqTRUE
YlOrBr9seqTRUE
YlOrRd9seqTRUE
  • 行名,是调色板的名称,共有 35 个

  • maxcolors,调色板中的颜色数

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

  • colorblind,对色盲是否友好

显示所有调色板:

display.brewer.all(n=NULL, type="all", select=NULL, exact.n=TRUE, colorblindFriendly=FALSE)
51c9ad321d244f304976006481680b15.png

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

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

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

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

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

display.brewer.all(type = "seq")
4310db2f28768964904414c90882390c.png

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

display.brewer.all(type = "div")
c351e3281e114de44b6783d0c39188b7.png

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

display.brewer.all(type = "qual")
1b2759d5ac35be737758807ec3a85635.png

再探

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

display.brewer.pal(9, 'Blues')
daaf31897adca98ef9887e562205245a.png

离散型调色板:

display.brewer.pal(11, 'BrBG')
460e0d012bbf83260eaaf0b8a5e0e663.png

定性型调色板:

display.brewer.pal(12, 'Paired')
17927c3ed7aa181a012d995b3dbfc1b0.png

使用

前面展示了各种调色板长什么样,那要怎么使用这些调色板呢?可以通过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 等。基因组组装、注释,以及各种重测序业务都可以与简说基因合作。

345864ad6d8e4a6a945a433af3b259c4.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1401463.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在MD编辑器里插入20次方问题

前言 看了很多文章里面没写怎么插入20次方,最后在官网的一篇文章上看到了很详细的数学公式的插入。 问题 大家肯定以为这样就可以了 效果 明显是不行的 解决 使用{}把数字括起来就可以了。 1 20 1^{20} 120 小知识 在行内显示(就是与文字在一起) $ $另起…

详解矩阵的三角分解A=LU

目录 一. 求解Axb 二. 上三角矩阵分解 三. 下三角矩阵分解 四. 矩阵的三角分解 举例1:矩阵三角分解 举例2:三角分解的限制 举例3:主元和乘法因子均为1 举例4:U为单位阵 小结 一. 求解Axb 我们知道高斯消元法可以对应矩阵…

二层交换机和三层交换机

二层交换机:将源mac和端口进行转发,是同一个网段进行通信的,不能实现路由转发,若想跨网段则需要接入一个路由器 如:pc1 192.168.1.1 与 pc2 192.168.1.2通信需要经过二层交换机,二层交换机不能配置ip的&am…

ERP进出库+办公用品管理系统

系统架构 简介系统架构部分页面结构图UML逻辑图办公用品入出库 简介 本系统适用于ERP企业公司职员关于系统化的申请相关办公用品,提高整体系统整合行,加大上下级之间的联系,规避因人员过多,而浪费人力在简单重复的工作中&#xf…

【车载HMI开发工具--EB GUIDE 与 Unity 合作提供一体化的沉浸式 HMI 设计开发工具链】【转载】

随着车载高性能计算平台的日益普及以及显示器尺寸和数量的不断增加,沉浸式车载人机交互界面(HMI)的需求也在持续增长。为了将实时 3D 技术带入车载 HMI 领域,Unity 与 Elektrobit (EB)展开了合作,EB 是推进 HMI 功能安…

进程间协同:从进程启动、同步与互斥到进程间通信

进程间协同的目的 在操作系统中,进程是计算机进行任务分配和调度的基本单位。在计算机系统中,有很多任务是无法由单个进程独立完成的,需要多个进程共同参与并协作完成。这就像在现实生活中,有些工作需要一个团队来完成&#xff0…

智慧照明迎来新升级:5G/4G智慧灯杆网关助力节能控制

近年来,随着智能科技的飞速发展,智慧照明系统已成为城市建设的热门话题。其中,5G/4G智慧灯杆网关作为智慧照明的重要组成部分,正逐渐引起人们的关注。其能够实现智能控制与远程管理,为城市节能减排做出了巨大贡献。  …

MCU常用外设总线

目录 前言一、时钟与中断二、GPIO三、ADC四、定时器4.1 基本定时器4.2 通用定时器4.2.1 输入捕获4.2.2 输出比较 五、UART六、IIC七、SPI 前言 本文主要讲单片机外设的功能,即这些外设是什么,可以用来干什么,了解了之后我们就可以通过相应的寄…

裁员1600人赔偿8000万,游戏巨头的寒冬要来啦!

据相关可靠消息,网易裁员1600人,消息确认可靠,并且基本都是网易游戏的技术人。 网易是一家靠门户网站起家的互联网公司,并提前布局了网易邮箱。当然最后靠网易游戏提前转型,将竞争对手搜狐和新浪远远的甩着后面啦。 网…

MacM1Pro Parallels19.1.0 CentOS7.9 Install PostgrepSQL

相关阅读 MacM1Pro安装 Parallels Desktop 19.1.0 https://blog.csdn.net/qq_41594280/article/details/135420241 MacM1Pro Parallels安装Parallels Tools https://blog.csdn.net/qq_41594280/article/details/135398780 MacM1Pro Parallels安装CentOS7.9 https://blog.csdn.n…

第十二站(20天):C++泛型编程

模板 C提供了模板(template)编程的概念。所谓模板,实际上是建立一个通用函数或类, 其 类内部的类型和函数的形参类型不具体指定 ,用一个虚拟的类型来代表。这种通用的方式称 为模板。 模板是泛型编程的基础, 泛型编程即以一种独立于任何特定…

微软Microsoft推出针对学生的AI练习英语口语工具”阅读教练“:Reading Coach

阅读教练官网链接:https://coach.microsoft.com AI工具专区:AI工具-喜好儿aigc 学生可以通过选择角色和设定,利用AI生成独特的故事,从而激发阅读兴趣并提高阅读流畅度。语音转文本AI能够实时分析学生的阅读流利性,检测…

从 fatal 错误到 sync.Map:Go中 Map 的并发策略

为什么 Go 语言在多个 goroutine 同时访问和修改同一个 map 时,会报出 fatal 错误而不是 panic?我们该如何应对 map 的数据竞争问题呢? 这篇文章将带你一步步了解背后的原理,并引出解决 map 并发问题的方案。 Map 数据竞争 首先…

慢查询定位

慢查询 使用工具 mysql自带慢日志 默认没有开启需要手动开启 查看慢日志中的文件 总结

研学活动报名系统源码开发方案

一、项目背景与目标 (一)项目背景: 随着教育水平的提高和人们对综合素质培养的需求增加,研学活动作为一种教育方式受到了广大家长和学生的青睐。为了更好地组织和管理研学活动,需要建立一个研学活动报名系统&#xf…

《WebKit 技术内幕》之八(3):硬件加速机制

3 其他硬件加速模块 3.1 2D图形的硬件加速机制 其实网页中有很多绘图操作是针对2D图形的,这些操作包括通常的网页绘制,例如绘制边框、文字、图片、填充等,它们都是典型的2D绘图操作。在HTML5中,规范又引入了2D绘图的画布功能&a…

Windows下载安装vcpkg并使用它来安装第三方库(visualstudio)

1.使用Git下载vcpkg仓库(下载比较慢,个人比较喜欢打开下面网址然后用迅雷下载,速度飞快) git clone "https://github.com/Microsoft/vcpkg.git"2.下载好之后解压打开文件夹,双击bootstrap-vcpkg.bat文件&…

BMP图像文件头

文件头总字节为54 byte 其代码的含义有 424d:ASCII BM 36ec_5e00:1920*1080*354 3600:偏移54byte 2800: 40 byte 8007 0000 :16‘h780 1920 3804 0000 :16‘h4801080 1800 :24bit 00ec 5e00&…

FPGA时序分析与时序约束(五)——使用Timing Analyzer进行时序分析与约束

Quartus的安装路径下会自带有例程,通过fir_filter进行学习如何使用Timing Analyzer进行时序分析与约束。 1.1 创建时序网表 打开fir_filter并进行综合后可通过菜单栏Tool->Timing Analyzer或工具栏按钮运行Timing Analyzer。 根据前面提到的,时序分析…

JVM中的垃圾收集算法

标记-清除算法 首先标记出所有需要回收的对象,在标记完成后,统一回收掉所有被标记的对象,也可以反过来,标记存活的对象,统一回收所有未被标记的对象。标记过程就是对象是否属于垃圾的判定过程 缺点 第一个是执行效率…