ggsci配色R包

一篇优秀的SCI论文,除了要有好的结果外,如何对结果进行可视化展示、如何对可视化图形进行配色都是SCI的加分项,今天小编给大家介绍的就是CNS级的文章配色,让你再也不用为文章配色而纠结!

这款R包的名字叫做– ggsci,网址为:https://cran.r-project.org/web/packages/ggsci/vignettes/ggsci.html

ggsci提供了一系列的调色板,目前有18种配色方案,收录了来自顶级的科学期刊的配色、数据库可视化中的配色、科幻电影中的主题配色以及电视节目中高级的配色,不论是离散型的配色还是连续型的配色统统都有,一应俱全。

所有的调色板可以被ggplot2的scale系列函数直接调用,调用命令为::

  • scale_color_palname()
  • scale_fill_palname()

其中palname用相应的调色板名称替换即可(命令请参照表格1/2中的第二列)。

我们先在目录中感受一下ggsci的能力所及:

表格1. 离散型颜色的调色板

 

表格2. 连续型颜色的调色板

 

再来一波视觉冲击我们感受一下ggsci的魅力所在:

离散型调色板的可视化:

NPG

AAAS

NEJM

Lancet

JAMA

JCO

UCSCGB

D3

LocusZoom

IGV

COSMIC

UChicago

Star Trek

Tron Legacy

Futurama

Rick and Morty

The Simpsons

连续型调色板的可视化:

GSEA

Material Design

接下来就是如何使用了……

Step1.安装和加载

R包的使用方法无非包含两步:安装和加载

安装方法:

if (!requireNamespace("BiocManager",quietly = TRUE)) install.packages("BiocManager")BiocManager::install("ggsci")

install.packages("ggsci")

加载方法:

library(ggsci)

 

Step2.利用scale_color_palname()或scale_fill_palname()调用画板颜色

离散型颜色画板–以NPG为例

library("ggsci")library("ggplot2")library("gridExtra")
data("diamonds")#load data
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()#绘制柱状图
#NPGp1_npg <- p1 + scale_color_npg()p2_npg <- p2 + scale_fill_npg()grid.arrange(p1_npg, p2_npg, ncol = 2)

连续型颜色画板–以GSEA为例

连续画板(以GSEA为例):library("reshape2")
data("mtcars") #load datacor <- cor(unname(cbind(mtcars, mtcars, mtcars, mtcars)))cor_melt <- melt(cor)
p3 <- ggplot( cor_melt, aes(x = Var1, y = Var2, fill = value)) +  geom_tile(colour = "black", size = 0.3) +  theme_bw() +  theme(    axis.title.x = element_blank(),    axis.title.y = element_blank()  )
#GSEAp3_gsea <- p3 + scale_fill_gsea()p3_gsea_inv <- p3 + scale_fill_gsea(reverse = TRUE)grid.arrange(p3_gsea, p3_gsea_inv, ncol = 2)

 

Step3.如果想调出某个主题的颜色代码该如何操作?

若想从某个主题画板中调出颜色的代码值,可以参考表格1和表格2中的第四列函数,以及第三列中的参数。

例如:从柳叶刀杂志的主题配色中提取9个颜色:

mypal<-pal_lancet("lanonc",alpha=0.6)(9)  #函数pal_lancet在表格中Lancet行所对应的第四列;参数lanonc在表格中Lancet行所对应的第二列;alpha参数控制图形的透明度水平print(mypal) #打印9个颜色的十六进制颜色代码:"#00468B99" "#ED000099" "#42B54099" "#0099B499" "#925E9F99" "#FDAF9199"  "#AD002A99" "#ADB6B699" "#1B191999"

若想进一步将这9个颜色可视化出来,需要两行代码:

library("scales")show_col(mypal)

 

统计与绘图

简洁分组树状图:colorhcplot

2020-8-28 4:11:23

统计与绘图

绘制可自定义填充图案的统计图-patternplot

2020-8-28 4:20:31

加入Q群
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索