一个非常流行的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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

雨云VPS使用我的世界整合包开服教程,Pokehaan Craft 2整合包服务器搭建教程

Minecraft整合包服务器搭建教程,宝可梦/神奇宝贝整合包(Pokehaan Craft 2)开服教程。 其他整合包也可以参考此教程。要看这个整合包的游戏截图可以翻到文章最底下。 5分钟免费开一个MC服!雨云免费服务器领取教程&我的世界开…

开源项目盘点-学习类

1,freeCodeCamp 地址:https://github.com/freeCodeCamp/freeCodeCamp 描述:一个程序员学习网站,里面有全栈开发、机器学习的相关知识,是完全免费的,该网站有上千道编码挑战题来帮助你来练习你的技能。 提…

springboot集成easypoi

easypoi,主打的功能就是容易,通过简单的配置&#xff0c;就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出 pom导入依赖 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-star…

9.4 Lambda表达式

9.4 Lambda表达式 1 Lambda语法2. 基于Lambda实现函数式编程3. Stream流式处理 1 Lambda语法 2. 基于Lambda实现函数式编程 3. Stream流式处理

各分地域如果流量大的情况下 使用什么组网方式最好?V批N还是SDWAN或者其他?

环境&#xff1a; V批N SDWAN MPLS 问题描述&#xff1a; 各分地域如果流量大的情况下 使用什么组网方式最好&#xff1f;V批N还是sdwan或者其他&#xff1f; 解决方案&#xff1a; 当各地域之间的流量较大时&#xff0c;选择合适的组网方式可以提供更好的网络性能和可靠…

快速玩转 Mixtral 8x7B MOE大模型!阿里云机器学习 PAI 推出最佳实践

作者&#xff1a;熊兮、贺弘、临在 Mixtral 8x7B大模型是Mixtral AI推出的基于decoder-only架构的稀疏专家混合网络&#xff08;Mixture-Of-Experts&#xff0c;MOE&#xff09;开源大语言模型。这一模型具有46.7B的总参数量&#xff0c;对于每个token&#xff0c;路由器网络选…

【数据结构初阶】——顺序表

本文由睡觉待开机原创&#xff0c;转载请注明出处。 本内容在csdn网站首发 欢迎各位点赞—评论—收藏 如果存在不足之处请评论留言&#xff0c;共同进步&#xff01; 这里写目录标题 1.数据结构2.顺序表线性表顺序表的结构 3.动态顺序表的实现 1.数据结构 数据结构的概念&…

2024年【中级消防设施操作员(考前冲刺)】考试题库及中级消防设施操作员(考前冲刺)免费试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 中级消防设施操作员&#xff08;考前冲刺&#xff09;考试题库参考答案及中级消防设施操作员&#xff08;考前冲刺&#xff09;考试试题解析是安全生产模拟考试一点通题库老师及中级消防设施操作员&#xff08;考前冲…

外呼机器人有什么优势?

外呼机器人有什么优势&#xff1f;值得受到大多数电销企业的追捧&#xff01; 1、电话外呼效率高&#xff1a; 每天可拨打的电话数量是人工的5-10倍&#xff0c;人工一天只能拨打200-300通电话&#xff0c;机器人每天能打3000通电话以上&#xff0c;无须休息&#xff0c;按照…

洛谷P1161 开灯

这倒也是水题&#xff0c;我们可以建立一个数组&#xff0c;数组的下标就是编号&#xff0c;我们要注意的是浮点数乘法的结果要转化成整数&#xff0c;才能当做下标&#xff0c;因为题目给的是整数编号。 # include <stdio.h> int main() {int a[1000000] { 0 }, n, t,…

使用定时器外设的输入捕捉功能及测量脉冲宽度

使用定时器外设的输入捕捉功能及测量脉冲宽度 文章目录 使用定时器外设的输入捕捉功能及测量脉冲宽度Introduction硬件定时器外设输入捕获功能的机制使用两个通道&#xff08;引脚&#xff09;的单边沿触发输入捕获使用单通道&#xff08;引脚&#xff09;的双边沿触发输入捕获…

16.5 参考文献——深度学习定位

16.5 一种高效鲁棒的多楼层室内环境指纹定位方法 同济大学 Zhao Y, Gong W, Li L, et al. An Efficient and Robust Fingerprint Based Localization Method for Multi Floor Indoor Environment[J]. IEEEa Internet of Things Journal, 2023. 2.相关工作 B.基于深度学习的…

SAI实例研究

实例1 creature.id 15937&#xff08;smart_script.entryorguid&#xff09;的SAI设置&#xff1a; 第1条(id 0&#xff09; 当 creature 进入战斗后&#xff08;event_type 0&#xff09;&#xff0c;creature 对当前目标&#xff08;target_type 2&#xff09;周期性施…

VS里那些实用的调试(debug)技巧

前言——————希望现在在努力的各位都能感动以后享受成功的自己&#xff01; 首先我们要来了解什么是bug——————bug本意是“昆虫”或“虫子”&#xff0c;现在⼀般是指在电脑系统或程序中&#xff0c;隐藏着的⼀些未被发现的缺陷或 问题&#xff0c;简称程序漏洞。 “…

【Flink-1.17-教程】-【四】(1)Flink DataStream API - 源算子(Source)

【Flink-1.17-教程】-【四】&#xff08;1&#xff09;Flink DataStream API - 源算子&#xff08;Source&#xff09; 1&#xff09;执行环境&#xff08;Execution Environment&#xff09;1.1.创建执行环境1.2.执行模式&#xff08;Execution Mode&#xff09;1.3.触发程序执…

PostgreSQL的date_part()函数

date_part() 函数从指定的时间戳或者时间间隔中抽取指定的部分并返回。 date_part(field TEXT, source TIMESTAMP) -> DOUBLE PRECISION date_part(field TEXT, source DATE) -> DOUBLE PRECISION date_part(field TEXT, source TIME) -> DOUBLE PRECISION date_part…

qemu使用

百度qemu bios 问题 坑爹的玩意&#xff0c;编译qemu 还需要python3.5以上 解决方法&#xff1a; CentOS7安装Python3.8-CSDN博客 https://www.cnblogs.com/Oliver.net/p/7211967.html 编译python3.8还由于openssl过低 参考 QEMU启动x86-Linux内核_qemu-system-x86-…

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

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

Vue 组件通信方式

✨ 专栏介绍 在当今Web开发领域中&#xff0c;构建交互性强、可复用且易于维护的用户界面是至关重要的。而Vue.js作为一款现代化且流行的JavaScript框架&#xff0c;正是为了满足这些需求而诞生。它采用了MVVM架构模式&#xff0c;并通过数据驱动和组件化的方式&#xff0c;使…

三、MySQL库表操作

3.1 SQL语句基础&#xff08;SQL命令&#xff09; 3.1.1 SQL简介 SQL&#xff1a;结构化查询语言(Structured Query Language)&#xff0c;在关系型数据库上执行数据操作&#xff0c;数据检索以及数据维护的标准化语言。使用SQL语句&#xff0c;程序员和数据库管理员可以完成…