R科研绘图调色板—ggsci包

简介

ggsci提供了一系列高质量的调色板,其灵感来自于期刊、电影等。ggsci中的调色板可用于ggplot2。基本用法:

  • scale_color_palname()
  • scale_fill_palname()
#安装并加载ggsci包
install.packages("ggsci")
library("ggsci")
library("ggplot2")
library("gridExtra")

离散型调色板

使用散点图和条形图来演示ggsci中的调色板。

#示例数据集
data("diamonds")#使用diamonds数据集
head(diamonds)
> head(diamonds)
# A tibble: 6 x 10carat cut       color clarity depth table price     x     y     z<dbl> <ord>     <ord> <ord>   <dbl> <dbl> <int> <dbl> <dbl> <dbl>
1 0.23  Ideal     E     SI2      61.5    55   326  3.95  3.98  2.43
2 0.21  Premium   E     SI1      59.8    61   326  3.89  3.84  2.31
3 0.23  Good      E     VS1      56.9    65   327  4.05  4.07  2.31
4 0.290 Premium   I     VS2      62.4    58   334  4.2   4.23  2.63
5 0.31  Good      J     SI2      63.3    58   335  4.34  4.35  2.75
6 0.24  Very Good J     VVS2     62.8    57   336  3.94  3.96  2.48
#原始配色
p1 <- ggplot(subset(diamonds, carat >= 2.2), #筛选数据aes(x = table, y = price, colour = cut) #确定xy
) +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) #确定x
) +geom_histogram(colour = "black", binwidth = 1, position = "dodge") + #画直方图theme_bw() #主题
grid.arrange(p1, p2, ncol = 2) #合并两图

Nature配色

p1_npg <- p1 + scale_color_npg()
p2_npg <- p2 + scale_fill_npg()
grid.arrange(p1_npg, p2_npg, ncol = 2)

美国科学促进会(AAAS)

p1_aaas <- p1 + scale_color_aaas()
p2_aaas <- p2 + scale_fill_aaas()
grid.arrange(p1_aaas, p2_aaas, ncol = 2)

新英格兰杂志(NEJM)

p1_lancet <- p1 + scale_color_lancet()
p2_lancet <- p2 + scale_fill_lancet()
grid.arrange(p1_lancet, p2_lancet, ncol = 2)

柳叶刀(Lancet)

p1_lancet <- p1 + scale_color_lancet()
p2_lancet <- p2 + scale_fill_lancet()
grid.arrange(p1_lancet, p2_lancet, ncol = 2)

美国医学会杂志(JAMA)

p1_jama <- p1 + scale_color_jama()
p2_jama <- p2 + scale_fill_jama()
grid.arrange(p1_jama, p2_jama, ncol = 2)

临床肿瘤学杂志(JCO)

p1_jco <- p1 + scale_color_jco()
p2_jco <- p2 + scale_fill_jco()
grid.arrange(p1_jco, p2_jco, ncol = 2)

创:战纪(Tron Legacy)

比较适用于使用黑暗主题。

p1_tron <- p1 + theme_dark() + theme(panel.background = element_rect(fill = "#2D2D2D"),legend.key = element_rect(fill = "#2D2D2D")
) +scale_color_tron()
p2_tron <- p2 + theme_dark() + theme(panel.background = element_rect(fill = "#2D2D2D")
) +scale_fill_tron()
grid.arrange(p1_tron, p2_tron, ncol = 2)

辛普森(The Simpsons)

p1_simpsons <- p1 + scale_color_simpsons()
p2_simpsons <- p2 + scale_fill_simpsons()
grid.arrange(p1_simpsons, p2_simpsons, ncol = 2)

连续型调色板

用相关性热图来展示。

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

GSEA调色板的灵感来自GSEA GenePattern生成的热图。

p3_gsea <- p3 + scale_fill_gsea()
p3_gsea_inv <- p3 + scale_fill_gsea(reverse = TRUE)
grid.arrange(p3_gsea, p3_gsea_inv, ncol = 2)

Material Design

The Material Design color palettes are from the material design color guidelines.

先生成一个随机矩阵

library("reshape2")set.seed(42)
k <- 9
x <- diag(k)
x[upper.tri(x)] <- runif(sum(1:(k - 1)), 0, 1)
x_melt <- melt(x)p4 <- ggplot(x_melt, aes(x = Var1, y = Var2, fill = value)) +geom_tile(colour = "black", size = 0.3) +scale_x_continuous(expand = c(0, 0)) +scale_y_continuous(expand = c(0, 0)) +theme_bw() + theme(legend.position = "none", plot.background = element_blank(),axis.line = element_blank(), axis.ticks = element_blank(),axis.text.x = element_blank(), axis.text.y = element_blank(),axis.title.x = element_blank(), axis.title.y = element_blank(),panel.background = element_blank(), panel.border = element_blank(),panel.grid.major = element_blank(), panel.grid.minor = element_blank())

用19种Material Design调色板绘制矩阵:

grid.arrange(p4 + scale_fill_material("red"), p4 + scale_fill_material("pink"),p4 + scale_fill_material("purple"), p4 + scale_fill_material("deep-purple"),p4 + scale_fill_material("indigo"), p4 + scale_fill_material("blue"),p4 + scale_fill_material("light-blue"), p4 + scale_fill_material("cyan"),p4 + scale_fill_material("teal"), p4 + scale_fill_material("green"),p4 + scale_fill_material("light-green"), p4 + scale_fill_material("lime"),p4 + scale_fill_material("yellow"), p4 + scale_fill_material("amber"),p4 + scale_fill_material("orange"), p4 + scale_fill_material("deep-orange"),p4 + scale_fill_material("brown"), p4 + scale_fill_material("grey"),p4 + scale_fill_material("blue-grey"),ncol = 6
)

非ggplot图

如果不是··作的图,可以直接调用颜色参数。

mypal <- pal_npg("nrc", alpha = 0.7)(9)
mypal
library("scales")
show_col(mypal)

总结

下表总结了所有可用的调色板。

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()
COSMIC scale_color_cosmic() scale_fill_cosmic() "hallmarks_light" "hallmarks_dark" "signature_substitutions" pal_cosmic()
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()

参考

https://nanx.me/ggsci/articles/ggsci.html

代码领取:后台回复**“ggsci”**即可领取完整代码。


往期内容:

单细胞转录组|Seurat 4.0 使用指南

R绘图实战|GSEA富集分析图

ggsci | 让你的配色Nature化相关推荐

  1. 木舟总结 | 2021年推文笔记分类汇总

    木舟总结 |2021年推文笔记分类汇总 先打个广告 木舟营业|关于付费咨询.有偿作图/数据分析.合作以及商务推广等事宜 高分文章图表复现系列 (免费教程+代码领取)|跟着Cell学作图系列合集 跟着C ...

  2. ggcorrplot | 简单的相关性热图绘制

    ggcorrplot的基础用法指南 ggcorrplot提供了一种对相关矩阵进行重新排序的解决方案,并在相关图上显示显著性水平.它还包括一个用于计算相关p值矩阵的函数. 安装和加载 install.p ...

  3. Matlab顶级期刊配色工具Rggsci

    颜色搭配是一件非常让人头疼的事情. 一方面,如果忽视了配色,就好像是做菜没放盐,总会感觉少些味道. 另一方面,如果太注重配色,又感觉不是很有必要,毕竟数据结果好看才是第一位的. 想要平衡两者,一个简单 ...

  4. 一行代码添加P值的可视化技巧分享~~

    点击上方"DataCharm",选择"星标"公众号 在一些常见的统计图表中经常需要在一些图表中添加P值,那么今天小编给大家汇总一下关于统计图表中P值的添加方法. ...

  5. oracle 11g goldengate与oracle 11g数据同步

    1.下载,安装goldengate软件(两个节都需要安装) glodengate下载地址:http://pan.baidu.com/s/1pLtVTJt 密码:exob [oracle@oracleo ...

  6. c++ 舞伴配对问题_R绘图:配对样本差异表达作图ggpubr

    R绘图往期回顾: R绘图:唱一半的歌,画一半的图 gghalves R绘图:gggibbous,基于ggplot2的Moon charts R绘图:ggeconodist,基于ggplot2的另类箱图 ...

  7. 淡雅灰低三角形背景几何风年终总结商务通用ppt模板

    淡雅灰低三角形背景几何风年终总结商务通用ppt模板 本模板共23P 淡雅灰低三角形背景 几何方块裁图几何风创意设计封面 商务红配色 扁平化微立体两种风格图表 适合年终总结.工作汇报等场景应用的商务通用 ...

  8. 差异表达基因热图怎么看_R绘图 雷达图-单基因泛癌差异表达的另类展现形式

    往期回顾: R语言学习系列之"多变的热图" 蚂蚁金服在线可视化引擎 G2 R绘图:无与伦比的华丽风行(桑基图) R绘图:相关性分析与作图(单基因相关性) R绘图:相关性分析与作图R ...

  9. R统计绘图-One-Way MANOVA

    存在两个及以上连续结果(或响应)变量的ANOVA被称为多变量方差分析(Multivariate Analysis of Variance,MANOVA).例如,将小鼠分为处理A和处理B两组后,测量小鼠 ...

  10. 掘金 Android 文章精选合集

    掘金官方 2017.07.10 16:42* 字数 175276 阅读 46638 评论 12 喜欢 653 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有 ...

最新文章

  1. 虚拟化如何做实?详解戴尔2.0版解决方案
  2. go监听mysql事件更新,有没有一种方法可以“监听”数据库事件并实时更新页面?...
  3. 挡d挡切换_吉行贴士 | 从N-D换挡,就是如此轻松
  4. 【移动开发】Android应用开发者应该知道的东西
  5. 批处理文件将多台连接的手机安装同一个APP
  6. 灯效控制器和rgb控制器_更具个性的RGB风扇,机箱里的魔术师,九州风神MF120GT开箱...
  7. 微课|中学生可以这样学Python(例11.2):tkinter猜数游戏(1)
  8. 抖音为什么能让人上瘾?
  9. 自注意力机制_自注意力机制在计算机视觉中的应用【附PPT与视频资料】
  10. 为什么谷歌被骂上热搜一点也不冤,详解FLoC背后联邦计算
  11. springcloud config不重启修改配置_SpringCloud实战-Bus消息总线(动态修改配置)
  12. 基于java的仓库管理系统_基于Java的仓库管理系统.doc
  13. 揭秘淘宝286亿海量图片存储与处理架构,海量小文件存储的解决方案
  14. 如何让你的本地上的项目不用部署到服务器也能让外网看到?使用ngrok内网穿透实现
  15. 201606中通笔试题
  16. 武汉大学计算机电气,武汉大学电气与自动化学院
  17. oracle 结果集已耗尽_SQLException:耗尽结果集
  18. SimulateSlidingTrack滑动轨迹库:一行代码获取仿真手动滑动轨迹
  19. 苏宁易购董事会改选并聘任张近东为名誉董事长;ASSASSINA莎辛那首个香氛沙龙闪现网红玻璃森林 | 知消...
  20. 全排列与逆序数的组合

热门文章

  1. Ubuntu20.04Server双网卡问题
  2. 大型仿人机器人整机构型研究与应用
  3. java PDF添加水印效果
  4. acm:C语言程序设计:求圆柱的体积等,去除小数点后两位最后一位的四舍五入
  5. 2019上半年勒索病毒专题报告
  6. 亚洲最佳电影TOP100出炉 你看过几部?
  7. 鸿蒙策略炒股软件安全么,鸿蒙即将全量开源 引爆国产软件板块!
  8. SQL Server 计算年龄函数
  9. C++实现模板方法模式--问卷调查实战
  10. Studio 3T for MongoDB