背景介绍
今天给大家介绍一个在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

p2

5. NPG: NPG调色板的灵感来自 Nature Publishing Group 的期刊,我们给他加上 ggsci的代码 看看
p1_npg = p1 + scale_color_npg()
p2_npg = p2 + scale_fill_npg()


6.使用一行代码将其组合起来
grid.arrange(p1_npg, p2_npg, ncol = 2)

7. NEJM: NEJM调色板的灵感来自于 The New England Journal of Medicine 期刊
p1_nejm = p1 + scale_color_nejm()
p2_nejm = p2 + scale_fill_nejm()


8.我们将这几张图组合起来对比一下看看,简直各有风味,以后不用再臭图形的颜色了,直接上啊
library(cowplot)
plot_grid(p1,p1_npg,p1_nejm,
nrow = 1,
labels = c("p1","p1_npg","p1_nejm"),
label_x = 0.3)

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