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

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.mzph.cn/news/638481.shtml

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

相关文章

Oracle数据库协议适配器错误解决方法

🕺作者: 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux 😘欢迎关注:👍点赞🙌收藏✍️留言 🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的很重要&…

Python实现单因素方差分析

Python实现单因素方差分析 1.背景 正念越来越受到人们关注,正念是一种有意的、不加评判的对当下的注意觉察。可以通过可以通过观呼吸、身体扫描、正念饮食等多种方式培养。 为了验证正念对记忆力的影响,选取三组被试分别进行正念训练,运动训…

使用STM32的UART实现蓝牙通信

✅作者简介:热爱科研的嵌入式开发者,修心和技术同步精进 代码获取、问题探讨及文章转载可私信。 ☁ 愿你的生命中有够多的云翳,来造就一个美丽的黄昏。 🍎获取更多嵌入式资料可点击链接进群领取,谢谢支持!&#x1f447…

外部配置文件和Class打包到jar 然后重新启动java -jar

我这边以demo.jar和application-dev.properties配置文件为例 一.将Test1.class和Test2.class替换到jar内部 步骤1:解压原始demo.jar 将两个class文件拷贝到jar目录下后cd到文件目录执行: jar xf demo.jar BOOT-INF/classes/com/test/ jar xf demo.jar…

解密.dataru被困的数据:如何应对.dataru勒索病毒威胁

导言: 在数字时代,勒索病毒如.dataru正在不断演变,威胁着用户的数据安全。本文91数据恢复将深入介绍.dataru勒索病毒的特点、被加密数据的恢复方法,以及预防措施,帮助您更好地了解并对抗这一数字威胁。当面对被勒索病…

基于SpringBoot的在线问卷调查管理系统

基于SpringBoot的在线问卷调查管理系统的设计与实现~ 开发语言:Java数据库:MySQL技术:SpringBootMyBatis工具:IDEA/Ecilpse、Navicat、Maven 系统展示 前台主页 问卷列表 问卷详情 管理员界面 摘要 基于Spring Boot的在线问卷调…

JVM篇--垃圾回收器高频面试题

1 你知道哪几种垃圾收集器,各自的优缺点是啥,重点讲下cms和G1,包括原理,流程,优缺点? 1)首先简单介绍下 有以下这些垃圾回收器 Serial收集器: 单线程的收集器,收集垃圾时…

云贝教育 |【OceanBase】OBCA认证考试预约流程

一、OBCA账号登录/注册,链接 https://www.oceanbase.com/ob/login/mobile?gotohttps%3A%2F%2Fwww.oceanbase.com%2Ftraining%2Fdetail%3Flevel%3DOBCA 注册完之后,请点击右上“登录”进行实名认证 OBCA考试报名链接:https://www.oceanbase.…

SQLite的临时视图和“一般”视图的区别

在SQLite中,临时视图和永久视图是两种不同的对象,它们之间有几个关键的区别: 作用域(Scope): 临时视图(Temporary View):仅在创建它的数据库连接会话中可见和可用。当创…

stm32cubemx下载以及安装【最新版本傻瓜式教程】

一、官网 https://www.st.com/zh/development-tools/stm32cubemx.html 二、下载【废话不多说,按照图示所圈进行】 没有登录账号的建议先注册登录再进行下载,这样省去后面认证的麻烦。 选择自己电脑对应环境的版本,我的是windows11&#xf…

MSE Nacos:解决敏感配置的安全隐患

作者:察溯 前言 Nacos 简介 Nacos [ 1] 是一个更易于构建云原生应用的配置管理和服务管理平台。Nacos 的配置中心具有众多优势:动态实时更新配置、支持水平扩展的高可用系统架构、API 简单易上手、开源免费、多语言支持、集成度高等。基于以上特点&am…

JavaScript 中JSON 字符串和对象之间的转换。

JSON.stringify() 方法(对象转换为 JSON 字符串) 用于将 JavaScript 对象转换为 JSON 字符串。 它接受一个 JavaScript 对象作为参数,并返回对应的 JSON 字符串表示。例如: const obj { name: John, age: 25 }; const jsonStr…

0基础实战langchain系列讲义【2】LangChain 的数据连接

文章目录 前言1、数据连接定义?2、数据的加载、拆分过程2.1 TextLoader 加载文档2.2 拆分文档2.2.1 字符拆分2.2.2 拆分代码2.2.3 Markdown文档拆分2.2.4 按字符递归拆分2.2.5 按token拆分 3 文本向量化和向量数据库存储查询3.1 文本向量化分块3.2 向量化存储、检索…

Html+Css+JavaScript实现完整的轮播图功能

概要 这个案例具备常见轮播图完整的功能,大家可以根据自己的需求去修改; 代码可以直接复制运行,需要安装sass 主要功能: (1)鼠标移入轮播图,左右两边的按钮出现,离开则隐藏按钮&a…

proteus8.15安装教程

proteus8.15安装教程 1.管理员运行 2.一直NEXT到这一步,需要注意,一定要选这一个 3.选中后出现 4.一直下一步到更新 这边结束后准备激活: 1.安装激活插件,先关闭防火墙 2.下一步 3.最后,将数据库放在根目录下 …

从零开始配置pwn环境:sublime配置并解决pwn脚本报错问题

1.sublime安装 Download - Sublime Text ──(holyeyes㉿kali2023)-[~] └─$ sudo dpkg -i sublime-text_build-4169_amd64.deb [sudo] password for holyeyes: Selecting previously unselected package sublime-text. (Reading database ... 409163 files and directori…

LeetCode——二叉树

二叉树 思路【labuladong】 1)是否可以通过遍历一遍二叉树得到答案?如果可以,用一个traverse函数配合外部变量来实现——回溯 2)是否可以定义一个递归函数,通过子问题的答案推导出原问题的答案?如果可以…

Halcon模板图像gen_contour_region_xld/find_shape_model

Halcon模板图像 文章目录 Halcon模板图像1. 从参考图像的特定区域中创建模板2. 使用XLD轮廓创建模板 本文将讲述如何创建合适的模板。可以从参考图像的特定区域中创建,也可以使用XLD轮廓创建合适的模板。接下来将分别介绍这两种方法。 1. 从参考图像的特定区域中创建…

【万字解析】Webpack 优化构建性能(分析->优化)

Webpack 优化构建性能 1. 分析构建性能 分析构建体积 全局安装 webpack-bundle-analyzer 插件 npm i -g webpack-bundle-analyzer运行 webpack-bundle-analyzer webpack-bundle-analyzer分析构建速度 // webpack.config.jsconst SpeedMeasurePlugin require("speed-me…

玩转浏览器开发者工具:发现前端世界的秘密花园

解锁网页背后的奥秘 对于许多前端开发者和网页设计师来说,浏览器的开发者工具是不可或缺的利器。通过这些工具,我们可以深入了解网页的内部结构、调试代码、测试设计以及优化性能。在本文中,我们将带你探索浏览器开发者工具的奥秘&#xff0…