ggsci怎么用 (r语言sci中常用的绘图颜色)

背景介绍

今天给大家介绍一个在R语言中结合ggplot2使用的顶刊配色包——ggsci,这样可以在不知道图形如何配色的时候,帮助自己进行图形配色。

软件介绍

[R]:4.2.2

[RStudio]:2022.12.0 Build 353

教程介绍

1.首先进行安装和加载ggsci包

# install.packages("ggsci")
library(ggsci)

2.对于所有的颜色设置来说,都可以使用以下两种方式进行颜色设置

scale_color_palname()
scale_fill_palname()

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

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()

4.接下来,我们将使用带有平滑曲线的散点图和条形图来演示 ggsci 中的离散调色板使用方法。首先我们先做出两幅图进行备用使用

library("ggsci")
library("ggplot2")
library("gridExtra")
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()

p1

r语言sci中常用的绘图颜色,ggsci怎么用

p2

r语言sci中常用的绘图颜色,ggsci怎么用

5. NPG: NPG调色板的灵感来自 Nature Publishing Group 的期刊,我们给他加上 ggsci的代码 看看

p1_npg = p1 + scale_color_npg()
p2_npg = p2 + scale_fill_npg()

r语言sci中常用的绘图颜色,ggsci怎么用

r语言sci中常用的绘图颜色,ggsci怎么用

6.使用一行代码将其组合起来

grid.arrange(p1_npg, p2_npg, ncol = 2)

r语言sci中常用的绘图颜色,ggsci怎么用

7. NEJM: NEJM调色板的灵感来自于 The New England Journal of Medicine 期刊

p1_nejm = p1 + scale_color_nejm()
p2_nejm = p2 + scale_fill_nejm()

r语言sci中常用的绘图颜色,ggsci怎么用

r语言sci中常用的绘图颜色,ggsci怎么用

8.我们将这几张图组合起来对比一下看看,简直各有风味,以后不用再臭图形的颜色了,直接上啊

library(cowplot)
plot_grid(p1,p1_npg,p1_nejm,
          nrow = 1,
          labels = c("p1","p1_npg","p1_nejm"),
          label_x = 0.3)

r语言sci中常用的绘图颜色,ggsci怎么用

9.怎么样,赶紧来试试吧!