
在使用 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的向量,让其帮我们显示具体的颜色情况哦。

网友评论