背景介绍
今天给大家介绍一个在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.怎么样,赶紧来试试吧!