配色——如何提取ggsci包中的颜色


在使用 ggplot2 时经常会有人使用 ggsci 这个包来进行配色,主要还是因为它包含一些知名主流杂志的配色风格,所谓让你的配色“nature化”。

安装

两种方法:

  • 从CRAN上安装
install.packages("ggsci")
  • 从GitHub安装
remotes::install_github("nanxstats/ggsci")

安装完成后可以用:

vignette("ggsci")

来获取一些帮助文档,这样就能上手了。

如何提取ggsci包中的颜色

现在问题在于,如果我们不用 ggplot2 作图,但还是想用 ggsci 包来进行配色,该怎么办?

这个问题我们只需要用 pal_ ** 这个函数就好了,例如我们要调取 npg 出版社的8种颜色:

pal_npg(palette = c("nrc"), alpha = 1)(8)

[1] "#E64B35FF" "#4DBBD5FF" "#00A087FF" "#3C5488FF" "#F39B7FFF" "#8491B4FF" "#91D1C2FF" "#DC0000FF"

类似的函数还有:

pal_aaas()
pal_jama()
pal_nejm()
pal_lancet()
...

看似解决了问题,但是我们要一个一个试这些颜色才能知道哪个适合我们,毕竟我们不知道这个颜色究竟是什么样子。

使用 scales 包可视化颜色

  • 从CRAN上安装
install.packages("scales")
  • 从GitHub上安装
devtools::install_github("r-lib/scales")

这个包里面有个函数:show_col(),来看它的帮助文档:

?show_col
#Description
A quick and dirty way to show colours in a plot.

#Usage
show_col(colours, labels = TRUE, borders = NULL, cex_label = 1, ncol = NULL)
#Arguments
colours 
A character vector of colours
labels  
Label each colour with its hex name?
borders 
Border colour for each tile. Default uses par("fg"). Use border = NA to omit borders.
cex_label   
Size of printed labels, as multiplier of default size.
ncol    
Number of columns. If not supplied, tries to be as square as possible.

来试试:

show_col(pal_npg(palette = c("nrc"), alpha = 1)(8))

这样你就知道每个颜色长什么样啦,方便了我们对配色的调整~

当然从这个函数参数来看,我们也可以自己输入一个颜色ID的向量,让其帮我们显示具体的颜色情况哦。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容