ggsci 是一个知名的 ggplot2 拓展包,工具包名称中的 sci science 的缩写。它的开发者是两个中国人:Nan Xiao <https://nanx.me>、Miaozhu Li <http://miaozhu.li>。

ggsci 工具包拓展了 ggplot2 绘图系统的颜色标度函数,并且遵从 scale_col_* scale_fill_* 式的命名规则。它的优点在于可以快速生成符合学术品味的配色,并且针对一些著名期刊还开发了对应的颜色标度函数。除期刊外,还有一些配色灵感来自数据可视化库、科幻电影和电视。

工具包中的函数可以分为如下两大类、四小类:

  • 颜色标度函数: scale_fill_* scale_color_*

  • 调色板函数: pal_* rgb_*

其中 scale_fill_* scale_color_* 类型的函数的用法与 ggplot2 中的颜色标度函数一致,大部分为离散型标度函数; pal_* rgb_* 函数可以输出这些标度函数所对应的颜色编码。

  • ggsci 工具包中所有函数及其功能可以通过这个网址查看:https://mirrors.tuna.tsinghua.edu.cn/CRAN/web/packages/ggsci/vignettes/ggsci.html。

比如, scale_fill_npg() scale_fill_aaas() 函数可以分别用来实现 Nature Science 杂志的配色风格:

library(ggplot2)
library(patchwork)
df <- data.frame(x = c("a", "b", "c", "d"), y = c(3, 4, 1, 2))
p <- ggplot(df, aes(x, y, fill = x)) + 
  geom_bar(stat = "identity") + 
  labs(x = NULL, y = NULL) +
  theme(legend.position = "none")
library(ggsci)
p1 <- p + scale_fill_npg()
p2 <- p + scale_fill_aaas()
p1 + p2

著名医学期刊 柳叶刀 The Lancet )和 美国医学会杂志 JAMA )的配色风格:

p3 <- p + scale_fill_lancet()
p4 <- p + scale_fill_jama()
p3 + p4

还有一些来自数据可视化库的配色风格:

p5 <- p + scale_fill_ucscgb()
p6 <- p + scale_fill_d3()
p5 + p6

以上举例都属于离散型颜色标度函数,这些函数的语法结构如下:

scale_fill_*(palette, alpha = 1, ...)
  • palette:调色板;具体需要查看各个函数的帮助文档;

  • alpha:透明度;数值越小,透明度越高;

  • ...: ggplot2 绘图系统中的离散标度函数的公共参数。

同一个函数不同的调色板:

p7 <- p + scale_fill_uchicago(palette = "light")
p8 <- p + scale_fill_uchicago(palette = "dark")
p7 + p8

ggsci 工具包还提供了两种连续型的颜色标度函数,它们比离散标度函数多了一个 reverse 参数:

  • scale_fill/color_gsea()

  • scale_fill/color_material()

scale_color_gsea() 函数会生成一个蓝-红的颜色渐变带:

set.seed(107)
df <- data.frame(x = 1:40, y = rnorm(40))
p <- ggplot(df, aes(x, y, color = y)) + 
  geom_point(size = 2) + 
  labs(x = NULL, y = NULL)
p1 <- p + scale_color_gsea()
p2 <- p + scale_color_gsea(reverse = T)
p1 + p2

scale_color_material() 函数提供了19种单色颜色渐变带,颜色类型需要通过 palette 参数指定,具体见该函数的帮助文档:

p3 <- p + scale_color_material()
p4 <- p + scale_color_material(palette = "purple",
                               alpha = 0.6)
p3 + p4

除了直接进行配色外,还可以使用 pal_* rgb_* 类的函数输出它们的颜色编码,这样就可以将这些配色风格保留下来了。前者对应的是离散型标度函数,后者对应的是连续型标度函数。在得到这些颜色的编码后,就可以在更广范围内运用这些配色风格了,而不再局限于 ggplot2 绘图系统里。

pal_* 函数举例:

pal_npg()(4)
## [1] "#E64B35FF" "#4DBBD5FF" "#00A087FF" "#3C5488FF"
pal_uchicago(palette = "dark")(5)
## [1] "#800000FF" "#767676FF" "#CC8214FF" "#616530FF" "#0F425CFF"

rgb_* 函数举例:

rgb_gsea(n = 5, reverse = T)
## [1] "#D60C00FF" "#FF6B79FF" "#E9D0FBFF" "#7D7CFCFF" "#4500ACFF"
rgb_material(palette = "purple", n = 5)
## [1] "#F2E5F4FF" "#C887D3FF" "#A335B5FF" "#7F20A4FF" "#4A138CFF"
ggsci是一个知名的ggplot2拓展包,工具包名称中的sci是science的缩写。它的开发者是两个中国人:Nan Xiao &lt;https://nanx.me&gt;、Miaoz...
1写在前面 对于只有只有部分重叠的datasets,合并方法我们依然可以采用Seurat、Harmony,rliger ,本期介绍一下Harmony 的用法。🤩 2用到的 rm(list = ls())library(Seurat)library(SeuratDisk)library(SeuratWrappers)library(patchwork)library(harmony)library(rliger)library(RColorBrewer)library(tidyverse)library(r
总有小伙伴问我figure的 配色 是怎么弄的,本期介绍一下我个人常用的一些 配色 R 。 😘 2用到的 rm(list = ls())library(tidyverse)library( ggsci )library(patchwork) 3示例数据 这期使用示例数据为movies_long数据集。 library(ggstatsplot)dat <- movies_long 我们先看一下变量的类型吧。🧐 str(dat) 4离散型 配色 4.1 初步绘图 我们先用ggplot画2个图
1写在前面 当完成了对scRNAseq数据的Normalization和混杂因素去除后,我们就可以开始正式分析了。😘 本期我们介绍一下常用的聚类方法(clustering),主要是无监督聚类, 括:👇 hierarchical clustering;k-means clustering ;graph-based clustering。 1.1 hierarchical clustering Raw data The hierarchical clustering dendrogram 1.2 k-mea
主题 颜色 代码 在这里,介绍4个常用的调色 :RColorBrewer、ggthmr、 ggsci 、ggthemes,这些 有一些已经生成好的色条或者主题供我们选择使用。 首先,加载好我们需要用到的R 和数据 : library(RColorBrewer) library( scale s) library(readxl) library( ggplot2 ) library(ggthemes) library( ggsci ) library(ggtech) library(dplyr) library(viridi
本教程介绍了如何使用 R 软件和 ggplot2 创建箱线图。需要使用函数 geom_boxplot()。一个简化的格式是: geom_boxplot(outlier.colour="black", outlier.shape=16, outlier.size=2, notch=FALSE) outlier.colour, outlier.shape, outlier.size : 离群值的 颜色 、形状和大小 notch:逻辑值。如果为 TRUE,则制作一个带缺口的箱线
Scientific Journal and Sci-Fi Themed Color Palettes for ggplot2 ggsci 含期刊或软件的经典 配色 ,对 科研 绘图很有帮助。 #下载 ggplot2 ggsci install.packages( ggplot2 ) install.packages( ggsci ) #加载 library( ggplot2 ) library( ggsci ) Scale s Palette Types Palette Gene...
scale _colour/fill_gradient() scale _colour/fill_gradient2() scale _colour/fill_gradientn() scale _colour/fill_discrete() scale _colour/fill_brewer() scale _colour/f Cluster Resources -------------------------------------------------------------------------------- ggvip 1 ONLINE ONLINE racdb1 oggapp 1 ONLINE ONLINE racdb1 查看ogg状态 GGSCI (racdb1) 1> info all Program Status Group Lag at Chkpt Time Since Chkpt MANAGER RUNNING EXTRACT RUNNING TESTEXT 00:00:00 00:00:08 EXTRACT RUNNING TESTPUMP 00:00:00 00:00:05