R海拾遗-sci配色
sci配色
sunqi
2020/7/19
概述
使用到的包ggsci
ggsci提供了一系列高质量的调色板,其灵感来自于科学期刊、数据可视化图书馆、科幻电影和电视节目中使用的色彩。ggsci中的调色板可以对ggplot2使用,目前支持JAMA、Lancet等杂志的配色
包的安装及使用
library("ggsci")
library("ggplot2")
library("gridExtra")
library(ggpubr)
data("diamonds")
# 离散数据的绘图
p1 = ggplot(subset(diamonds, carat >= 2.2),
aes(x = table, y = price, colour = cut)) +
geom_point(alpha = 0.7) +
geom_smooth(method = "loess", alpha = 0.05, size = 1, span = 1) +
theme_bw()
p2 = ggplot(subset(diamonds, carat > 2.2 & depth > 55 & depth < 70),
aes(x = depth, fill = cut)) +
geom_histogram(colour = "black", binwidth = 1, position = "dodge") +
theme_bw()
# Nature Publishing Group主题色
p1_npg = p1 + scale_color_npg()
p2_npg = p2 + scale_fill_npg()
# A和B是原始配色,C和D为新配色
ggarrange(p1,p2,p1_npg,p2_npg,ncol=2,nrow=2,labels=c("A","B","C","D"))
# American Association for the Advancement of Science
p1_aaas = p1 + scale_color_aaas()
p2_aaas = p2 + scale_fill_aaas()
# A和B是原始配色,C和D为新配色
ggarrange(p1,p2,p1_aaas,p2_aaas,ncol=2,nrow=2,labels=c("A","B","C","D"))
# The New England Journal of Medicine
p1_nejm = p1 + scale_color_nejm()
p2_nejm = p2 + scale_fill_nejm()
# A和B是原始配色,C和D为新配色
ggarrange(p1,p2,p1_nejm,p2_nejm,ncol=2,nrow=2,labels=c("A","B","C","D"))
# Rick and Morty 配色,嘿嘿嘿
p1_rickandmorty = p1 + scale_color_rickandmorty()
p2_rickandmorty = p2 + scale_fill_rickandmorty()
# A和B是原始配色,C和D为Rick and Morty配色
ggarrange(p1,p2,p1_rickandmorty,p2_rickandmorty,ncol=2,nrow=2,labels=c("A","B","C","D"))
ggsci支持的配色方法有很多
Name |
Scales |
Palette Types |
Palette Generator |
|
---|---|---|---|---|
NPG |
scale_color_npg() scale_fill_npg() |
“nrc” |
pal_npg() |
|
AAAS |
scale_color_aaas() scale_fill_aaas() |
“default” |
pal_aaas() |
|
NEJM |
scale_color_nejm() scale_fill_nejm() |
“default” |
pal_nejm() |
|
Lancet |
scale_color_lancet() scale_fill_lancet() |
“lanonc” |
pal_lancet() |
|
JAMA |
scale_color_jama() scale_fill_jama() |
“default” |
pal_jama() |
|
JCO |
scale_color_jco() scale_fill_jco() |
“default” |
pal_jco() |
|
UCSCGB |
scale_color_ucscgb() scale_fill_ucscgb() |
“default” |
pal_ucscgb() |
|
D3 |
scale_color_d3() scale_fill_d3() |
“category10” “category20” “category20b” “category20c” |
pal_d3() |
|
LocusZoom |
scale_color_locuszoom() scale_fill_locuszoom() |
“default” |
pal_locuszoom() |
|
IGV |
scale_color_igv() scale_fill_igv() |
“default” “alternating” |
pal_igv() |
|
UChicago |
scale_color_uchicago() scale_fill_uchicago() |
“default” “light” “dark” |
pal_uchicago() |
|
Star Trek |
scale_color_startrek() scale_fill_startrek() |
“uniform” |
pal_startrek() |
|
Tron Legacy |
scale_color_tron() scale_fill_tron() |
“legacy” pal_tron() |
||
Futurama |
scale_color_futurama() scale_fill_futurama() |
“planetexpress” |
pal_futurama() |
|
Rick and Morty |
scale_color_rickandmorty() scale_fill_rickandmorty() |
“schwifty” |
pal_rickandmorty() |
|
The Simpsons |
scale_color_simpsons() scale_fill_simpsons() |
“springfield” |
pal_simpsons() |
|
GSEA |
scale_color_gsea() scale_fill_gsea() |
“default” |
pal_gsea() |
|
Material Design |
scale_color_material() scale_fill_material() |
“red” “pink” “purple” “deep-purple” “indigo” “blue” “light-blue” “cyan” “teal” “green” “light-green” “lime” “yellow” “amber” “orange” “deep-orange” “brown” “grey” “blue-grey” |
pal_material() |
对于连续数据的配色
library("reshape2")
data("mtcars")
cor = cor(unname(cbind(mtcars, mtcars, mtcars, mtcars)))
cor_melt = melt(cor)
p3 = ggplot(cor_melt,
aes(x = Var1, y = Var2, fill = value)) +
geom_tile(colour = "black", size = 0.3) +
theme_bw() +
theme(axis.title.x = element_blank(),
axis.title.y = element_blank())
# 使用GSEA主题
p3_gsea = p3 + scale_fill_gsea()
p3_gsea_inv = p3 + scale_fill_gsea(reverse = TRUE)
grid.arrange(p3_gsea, p3_gsea_inv, ncol = 2)
结束语
看起来很好,但说实话,没啥大用,玩玩可以。 love&peace
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Linux防止ssh暴力破解常用方案
- 实用!8个 chrome插件玩转GitHub,单个文件下载小意思
- LeetCode105|有序数组的平方
- LeetCode104|求根到叶子节点数字之和
- LeetCode103|路径总和II
- LeetCode102|二叉树的所有路径
- LeetCode101|路径总和
- LeetCode100|两个数组的交集II
- LeetCode108|数组中重复的数字
- LeetCode107|从上打印二叉树
- LeetCode106|从尾到头打印链表
- LeetCode113|两数之和
- LeetCode112|两数之和II-输入有序数组
- LeetCode111|独一无二的出现次数
- LeetCode110|第N个泰波那契数