前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >神仙级的配色,为你的文章增光添彩!

神仙级的配色,为你的文章增光添彩!

作者头像
作图丫
发布2022-03-29 13:46:57
1.1K0
发布2022-03-29 13:46:57
举报
文章被收录于专栏:作图丫

一篇优秀的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包的使用方法无非包含两步:安装和加载

安装方法:

代码语言:javascript
复制
if (!requireNamespace("BiocManager",quietly = TRUE)) install.packages("BiocManager")BiocManager::install("ggsci")

代码语言:javascript
复制
install.packages("ggsci")

加载方法:

代码语言:javascript
复制
library(ggsci)

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

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

代码语言:javascript
复制
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()#绘制柱状图

#NPG
p1_npg <- p1 + scale_color_npg()
p2_npg <- p2 + scale_fill_npg()
grid.arrange(p1_npg, p2_npg, ncol = 2)

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

代码语言:javascript
复制
连续画板(以GSEA为例):
library("reshape2")

data("mtcars") #load data
cor <- 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()  )

#GSEA
p3_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个颜色:

代码语言:javascript
复制
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个颜色可视化出来,需要两行代码:

代码语言:javascript
复制
library("scales")
show_col(mypal)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-07-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作图丫 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档