前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >🤩 ggsci | 一秒搞定你的顶刊配色(一)

🤩 ggsci | 一秒搞定你的顶刊配色(一)

作者头像
生信漫卷
发布2022-10-31 17:13:33
2K0
发布2022-10-31 17:13:33
举报
文章被收录于专栏:R语言及实用科研软件

1写在前面

总有小伙伴问我figure的配色是怎么弄的,本期介绍一下我个人常用的一些配色R包。 😘

2用到的包

代码语言:javascript
复制
rm(list = ls())
library(tidyverse)
library(ggsci)
library(patchwork)

3示例数据

这期使用示例数据为movies_long数据集。

代码语言:javascript
复制
library(ggstatsplot)
dat <- movies_long

我们先看一下变量的类型吧。🧐

代码语言:javascript
复制
str(dat)

4离散型配色

4.1 初步绘图

我们先用ggplot画2个图吧,配色真的是一言难尽啊~ 😣

代码语言:javascript
复制
p1 <-  dat %>% 
  ggplot(aes(x = length, y = rating, colour = genre)) +
  geom_point(alpha = 0.7) +
  geom_smooth(method = "loess", alpha = 0.05, size = 1, span = 1) +
  theme_bw()

p2 <-  dat %>% 
  ggplot(aes(x = rating, fill = genre)) +
  geom_histogram(binwidth = 0.8, position = "dodge") +
  theme_bw()

p1 + p2

4.2 NPG配色

出自Nature Publishing Group的配色。

代码语言:javascript
复制
p1_npg <-  p1 + scale_color_npg()
p2_npg <-  p2 + scale_fill_npg()

p1_npg + p2_npg

4.3 AAAS配色

出自American Association for the Advancement of Science的配色。

代码语言:javascript
复制
p1_aaas <-  p1 + scale_color_aaas()
p2_aaas <-  p2 + scale_fill_aaas()

p1_aaas + p2_aaas

4.4 NEJM配色

出自The New England Journal of Medicine的配色。

代码语言:javascript
复制
p1_nejm = p1 + scale_color_nejm()
p2_nejm = p2 + scale_fill_nejm()

p1_nejm + p2_nejm

4.5 Lancet配色

出自Lancet的配色。

代码语言:javascript
复制
p1_lancet <-  p1 + scale_color_lancet()
p2_lancet <-  p2 + scale_fill_lancet()

p1_lancet + p2_lancet

4.6 JAMA配色

出自The Journal of the American Medical Association的配色。

代码语言:javascript
复制
p1_jama <-  p1 + scale_color_jama()
p2_jama <-  p2 + scale_fill_jama()

p1_jama + p2_jama

4.7 JCO配色

出自Journal of Clinical Oncology的配色。

代码语言:javascript
复制
p1_jco <-  p1 + scale_color_jco()
p2_jco <-  p2 + scale_fill_jco()

p1_jco + p2_jco

000014 (4)


4.8 UCSCGB配色

出自UCSC Genome Browser的配色。

代码语言:javascript
复制
p1_ucscgb <-  p1 + scale_color_ucscgb()
p2_ucscgb <-  p2 + scale_fill_ucscgb()

p1_ucscgb + p2_ucscgb

4.9 D3配色

出自D3.js的配色。

代码语言:javascript
复制
p1_d3 <-  p1 + scale_color_d3()
p2_d3 <-  p2 + scale_fill_d3()

p1_d3 + p2_d3

4.10 LocusZoom配色

出自LocusZoom的配色。

代码语言:javascript
复制
p1_locuszoom <-  p1 + scale_color_locuszoom()
p2_locuszoom <-  p2 + scale_fill_locuszoom()

p1_locuszoom + p2_locuszoom

4.11 Integrative Genomics Viewer配色

出自Integrative Genomics Viewer的配色。

代码语言:javascript
复制
p1_igv <-  p1 + scale_color_igv()
p2_igv <-  p2 + scale_fill_igv()

p1_igv + p2_igv

4.12 UChicago配色

出自University of Chicago的配色。

代码语言:javascript
复制
p1_uchicago <-  p1 + scale_color_uchicago()
p2_uchicago <-  p2 + scale_fill_uchicago()

p1_uchicago + p2_uchicago

000014 (8)


4.13 Star Trek配色

出自Star Trek的配色。

代码语言:javascript
复制
p1_startrek <-  p1 + scale_color_startrek()
p2_startrek <-  p2 + scale_fill_startrek()

p1_startrek+ p2_startrek

4.14 Tron Legacy配色

出自Tron Legacy的配色。

代码语言:javascript
复制
p1_tron <-  p1 + scale_color_tron()
p2_tron <-  p2 + scale_fill_tron()

p1_tron + p2_tron

4.15 Futurama配色

出自Futurama的配色。

代码语言:javascript
复制
p1_futurama <-  p1 + scale_color_futurama()
p2_futurama <-  p2 + scale_fill_futurama()

p1_futurama + p2_futurama

4.16 Rick and Morty配色

出自Rick and Morty的配色。

代码语言:javascript
复制
p1_rickandmorty <-  p1 + scale_color_rickandmorty()
p2_rickandmorty <-  p2 + scale_fill_rickandmorty()

p1_rickandmorty + p2_rickandmorty

4.17 The Simpsons配色

出自The Simpsons的配色。

代码语言:javascript
复制
p1_simpsons <-  p1 + scale_color_simpsons()
p2_simpsons <-  p2 + scale_fill_simpsons()

p1_simpsons + p2_simpsons

5连续型配色

5.1 初步绘图

应用场景:连续型配色多用于热图相关性矩阵等等。

这里我们用ggplot画个热图吧,需要整理成ggplot需要的数据格式。🤨 但如果大家要画相对复杂的热图还是推荐使用ComplexHeatmap包,以后我们再介绍吧。😊

代码语言:javascript
复制
library("reshape2")

cor <- cor(unname(cbind(dat[,3:6],dat[,3:6],dat[,3:6],dat[,3:6])))
cor_melt <-  melt(cor)      
           
p3 <-  cor_melt %>%
  ggplot(aes(x = Var1, y = Var2, fill = value)) +
  geom_tile(size = 0.3,na.rm = T) +
  theme_bw() +
  theme(axis.title.x = element_blank(),
        axis.title.y = element_blank())

p3

5.2 GSEA配色

出自GSEA GenePattern的配色。

代码语言:javascript
复制
p3_gsea     <-  p3 + scale_fill_gsea()
p3_gsea_inv <-  p3 + scale_fill_gsea(reverse = TRUE)

p3_gsea + p3_gsea_inv

5.3 Material Design

出自material design color guidelines的配色。

代码语言:javascript
复制
wrap_plots(
  p3 + scale_fill_material("red"),         p3 + scale_fill_material("pink"),
  p3 + scale_fill_material("purple"),      p3 + scale_fill_material("deep-purple"),
  p3 + scale_fill_material("indigo"),      p3 + scale_fill_material("blue"),
  p3 + scale_fill_material("light-blue"),  p3 + scale_fill_material("cyan"),
  p3 + scale_fill_material("teal"),        p3 + scale_fill_material("green"),
  p3 + scale_fill_material("light-green"), p3 + scale_fill_material("lime"),
  p3 + scale_fill_material("yellow"),      p3 + scale_fill_material("amber"),
  p3 + scale_fill_material("orange"),      p3 + scale_fill_material("deep-orange"),
  p3 + scale_fill_material("brown"),       p3 + scale_fill_material("grey"),
  p3 + scale_fill_material("blue-grey")
)

6非ggplot中的应用

6.1 提取配色

有时候我们会遇到画的图并不是基于ggplot的,这个时候我们可以提取配色进行应用。

代码语言:javascript
复制
mypal <-  pal_npg("nrc", alpha = 0.7)(9)
mypal

6.2 显示配色

代码语言:javascript
复制
library("scales")
show_col(mypal)

最后祝大家早日不卷!~


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-09-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信漫卷 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1写在前面
  • 2用到的包
  • 3示例数据
  • 4离散型配色
    • 4.1 初步绘图
      • 4.2 NPG配色
        • 4.3 AAAS配色
          • 4.4 NEJM配色
            • 4.5 Lancet配色
              • 4.6 JAMA配色
                • 4.7 JCO配色
                  • 4.8 UCSCGB配色
                    • 4.9 D3配色
                      • 4.10 LocusZoom配色
                        • 4.11 Integrative Genomics Viewer配色
                          • 4.12 UChicago配色
                            • 4.13 Star Trek配色
                              • 4.14 Tron Legacy配色
                                • 4.15 Futurama配色
                                  • 4.16 Rick and Morty配色
                                    • 4.17 The Simpsons配色
                                    • 5连续型配色
                                      • 5.1 初步绘图
                                        • 5.2 GSEA配色
                                          • 5.3 Material Design
                                          • 6非ggplot中的应用
                                            • 6.1 提取配色
                                              • 6.2 显示配色
                                              领券
                                              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档