迄今为止最优秀的配色R包
前言
配色是个审美问题,我们通常都是拿别人配好的一组颜色来画图。用来配色的包很多,今天介绍的是一个组合拳,内置了几乎所有配色R包,配色组合数量2000+,可谓是最齐全的了。
它吸引我的有两个地方:
可以直接在控制台显示出颜色
使用起来异常简单明了
无缝对接ggplot
行吧,三个地方,我不倒回去改了有点激动
1.安装
if(!require(paletteer))install.packages("paletteer")
if(!require(scico))install.packages('scico')
if(!require(nord))install.packages('nord')
library(paletteer)
paletteer就是今天的主角,十分优秀
2.一分钟上手
支持两类配色:
paletteer_c
:连续型配色,映射颜色的那一列是一串连续的数据,最常见的连续型数据就是数值,举个栗子:
paletteer_d
:离散型配色,映射颜色的那一列有固定几个的取值,每个取值对应一个颜色。
其中离散型配色中有个paletteer_dynamic
,即动态配色,就是说可以把一组颜色任意切分成n个颜色,取决于你想要多少种颜色,要多少就有多少,如下图,n等于几就是要几种颜色咯
下面是使用方法,将配色以十六进制编码的形式输出出来,成为一个自定义颜色时可直接使用的向量。并且这个输出在控制台上就显示了颜色,非常直观
paletteer_c("scico::berlin", n = 10)## <colors>
## #9EB0FFFF #5AA3DAFF #2D7597FF #194155FF #11181DFF #270C01FF #501802FF #8A3F2AFF #C37469FF #FFACACFFpaletteer_d("RColorBrewer::Paired")## <colors>
## #A6CEE3FF #1F78B4FF #B2DF8AFF #33A02CFF #FB9A99FF #E31A1CFF #FDBF6FFF #FF7F00FF #CAB2D6FF #6A3D9AFF #FFFF99FF #B15928FFpaletteer_dynamic("cartography::green.pal", 5)## <colors>
## #B8D9A9FF #8DBC80FF #5D9D52FF #287A22FF #17692CFF
引号里是包名::配色名,并不需要自己去查,直接按键盘上Q前面那个tab即可。顺便秀一下我新定制的表情包:
3.傻瓜式对接ggplot2
我看到包的作者致谢了哈德雷大佬,如此无缝的对接只有大佬能做。
library(ggplot2)
ggplot(iris, aes(Sepal.Length, Sepal.Width, color = Species)) +geom_point() +scale_color_paletteer_d("basetheme::minimal")
ggplot(iris, aes(Sepal.Length, Sepal.Width, color = Sepal.Width)) +geom_point() +scale_color_paletteer_c("grDevices::PinkYl")
这样的对接方式,基于ggplot2的所有R包都可以用了。比如ggpubr
library(ggpubr)
data("ToothGrowth")
df <- ToothGrowth
ggboxplot(df, x = "dose", y = "len", width = 0.8,color = "dose")+scale_color_paletteer_d("basetheme::minimal")
5.对接其他绘图R包
pheatmap
pheatmap::pheatmap(volcano,color = paletteer_c("scico::berlin", n = 100))
为什么这里是100呢?倒也不是必须100,只是热图默认配色也是把红黄蓝切成了100种颜色。
ComplexHeatmap
library(ComplexHeatmap)
Heatmap(t(iris[,1:4]),col = paletteer_c("scico::berlin", n = 100),name = "iris")
迄今为止最优秀的配色R包相关推荐
- R包animalcules-一键式交互探索微生物组数据
写在前面 这个包最优雅的地方在于交互式,所以学习的主要目的也就是交互式的实践.交互 图可以很好的探索数据,但一般不支持输出矢量图,不方便下游编辑和修改和用于发表.如果你找到了导出矢量图方法,请留言. ...
- R包reshape2,轻松实现长、宽数据表格转换
本文翻译自外文博客,原文链接:https://seananderson.ca/2013/10/19/reshape/ 一.reshape2 简介 reshape2是由Hadley Wickham编写的 ...
- 一个震撼的交互型3D可视化R包 - 可直接转ggplot2图为3D
一个震撼的交互型3D可视化R包 - rayshader 虽然3D的plot见得比较多了,但是看见这样的R包,我的心还是砰了一下,这个简直不能再好看了! 关键是!!!敲黑板,这个R包超简单!!!对于刚学 ...
- 使用R语言的正确姿势,R包干货奉献
生物信息学习的正确姿势 NGS系列文章包括NGS基础.在线绘图.转录组分析 (Nature重磅综述|关于RNA-seq你想知道的全在这).ChIP-seq分析 (ChIP-seq基本分析流程).单细胞 ...
- R包ggseqlogo |绘制序列分析图
简介 在生物信息分析中,经常会做序列分析图(sequence logo),这里的序列指的是核苷酸(DNA/RNA链中)或氨基酸(在蛋白质序列中).sequence logo图是用来可视化一段序列某个位 ...
- 16S预测宏基因组最强R包-Tax4Fun
之前在公众号的文章<根据16S预测微生物群落功能最全攻略>阅读人数近3000人,有需求的用户还是非常多的.其中提到了4个软件,之前已经介绍了其中非常有特点的三种,分别为: - PICRUS ...
- 单细胞-拟时序分析-R包SCORPIUS
注:代码转自生信技能树,仅做学习笔记.https://mp.weixin.qq.com/s/rho-EPb804bSd8w334BNQw 准备工作, 安装及加载R包,载入数据,查看数据类型. inst ...
- R包circlize:柱状图用腻了?试试好看的弦状图
文章目录 柱状图用腻了?试试好看的弦状图 弦图简介 数据准备 代码部分 载入R语言包 数据导入 颜色设定 画图 保存以上图片 Circlize包的所有参数(个性化设置) 笔者个性化弦图 作者简介 猜你 ...
- 包包的结构制图_科学网—R包circlize:柱状图用腻了?试试好看的弦状图 - 刘永鑫的博文...
[TOC] 柱状图用腻了?试试好看的弦状图 作者:郑伟 西北农林科技大学 责编:刘永鑫 中科院遗传发育所 弦图简介 总体来讲,弦图是一种可视化微生物物种或基因相对丰度的方法.平时大多数时间我们看到的文 ...
- R包WGCNA---转录组WGCNA共表达网络构建(基本概念)
R包WGCNA---转录组WGCNA共表达网络构建(基本概念) 1. WGCNA简介 2. WGCNA分析原理 (1)R包WGCNA的主要功能 (2)WGCNA的基本概念和工作流程 (3)WGCNA分 ...
最新文章
- 按属性值对对象数组进行排序
- leetcode算法题--Minimum Depth of Binary Tree
- 台湾大学林轩田机器学习技法课程学习笔记1 -- Linear Support Vector Machine
- 【渝粤教育】国家开放大学2018年春季 8625-22T老年心理健康 参考试题
- vs.net2003无法打开.NET的Web应用服务
- pandas打印全部列_python——pandas练习题1-5
- mysql左右连接举例_MYSQL 连接举例
- 这可不是一般的便宜哦!
- caj文献格式转PDF格式
- table切换数据 vue_Vue实现表格中对数据进行转换、处理的方法
- 解决SVN语言包安装后无法出现下拉框选择
- JxBrowser 7.16 Crack by Xacker
- 360桌面整理计算机图标,电脑界面上的图标被360清理掉了,怎么恢复呢?
- 浏览器网页无法打开麦克风、摄像头
- linux设置mysql开机启动
- 搭建Snipeit资产管理系统
- 一个高尚的人,一个纯粹的人,一个有道德的人,一个脱离了低级趣味的人,一个有益于人民的人。...
- 3D建模 UG8.0 32位安装过程
- 已入职今日头条!并附上8面面经
- deep supervision
热门文章
- OJ每日一练——细菌个数
- VM无法将网络更改为桥接状态:没有未桥接的主机网络适配器
- postgreSQL 获取当前连接的IP
- 重型柴油车OBD系统进入逻辑
- 计算机专业考研英语二国家线多少分,考研英语二国家线多少,2019年考研英语二国家线?...
- C++的64位整数[转]+gyy整理
- java计算机毕业设计招聘管理系统源码+系统+mysql数据库+lw文档
- 纽约大学Gary Marcus等撰文:人类思维对于AI的11个启示
- 用php编写一个函数_使给定的一个二维数组(3×3)转置,写一个函数 使给定的一个3x3的二维数组转置,即行列互换...
- C语言每日一练——第12天:求一个矩阵的转置