ggplot2是目前主流的绘图R包,有着丰富的扩展包。今天来推荐一个极其强大的配色R包——paletteer包。据R包作者介绍,这个包收集了52个R包的2100种调色板,R用户可以通过paletteer[1]包来直接调用其他R包的调色板。下面来学习下怎么使用这个R包[2]。
安装可以直接从CRAN上安装。
install.packages("paletteer")
library(paletteer)
在使用paletteer包绘制图形前先看看paletteer包的调色板情况。
palettes_d_name是一个包含了R包和离散型调色板的数据集。
d_palettes <- palettes_d_names
d_palettes
可以看到数据集共有1788行,包含4个变量,分别表示R包、调色板、调色板中的颜色数量、调色板类型等。
palettes_c_name是一个包含了R包和连续型调色板的数据集。
c_palettes <- palettes_c_names
c_palettes
可以看到数据集共有315行,包含3个变量,分别表示R包、调色板、调色板类型等。
paletteer包使用起来很简单,包中有4个主要的函数。函数用法:
# 离散型调色板
scale_color_paletteer_d(palette, direction = 1, dynamic = FALSE, ...)
scale_fill_paletteer_d(palette, direction = 1, dynamic = FALSE, ...)
# 连续型调色板
scale_color_paletteer_c(palette, direction = 1, ...)
scale_fill_paletteer_c(palette, direction = 1, ...)
scale_color_paletteer_binned(palette, direction = 1, ...)
scale_fill_paletteer_binned(palette, direction = 1, ...)
palette # 调色板名称的字符串,格式必须是packagename::palettename
direction # 取值为1或-1,为-1则逆转调色板的颜色
我们可以查看每个调色板的具体颜色。
paletteer_c("scico::berlin", 10)
paletteer_d("nord::frost")
paletteer_d("wesanderson::Royal1", 4)
paletteer_d("Redmonder::dPBIPuOr", 10, type = "continuous")
pal <- paletteer_d("basetheme::clean")
pal %>%
fct_inorder() %>%
tibble(pal = .) %>%
gt::gt() %>%
gt::data_color(columns = vars(pal),
colors = as.character(pal))
paletteer包主要用于ggplot2图形,所以我们绘制ggplot2图形来进行演示。
先绘制个基础的条形图。
library(ggplot2)
base_d <- ggplot(mpg, aes(class, fill = drv)) +
geom_bar()
base_d
ggsci包是一个很优秀的调色板,我们可以在paletteer包中使用ggsci包的调色板。
base_d + scale_fill_paletteer_d("ggsci::default_nejm")# 调色板可以自动补全名称
下面再绘制个散点图看看。
library(gcookbook) # 为了使用数据集
base_c <- ggplot(heightweight, aes(ageYear, heightIn, colour=sex)) +
geom_point(size = 3.5)base_c
base_c + scale_color_paletteer_d("basetheme::ink")
base_c + scale_color_paletteer_d("LaCroixColoR::Orange")
先绘制个散点图。
ggplot(mtcars, aes(x=wt, y=mpg, colour=cyl)) +
geom_point(size = 3.5) +
scale_color_paletteer_c("ggthemes::Red-Gold")
ggplot(mtcars, aes(x=wt, y=mpg, colour=cyl)) +
geom_point(size = 3.5) +
scale_color_paletteer_c("ggthemes::Classic Area Green")
[1]
paletteer: https://www.bing.com/search?q=paletteer&qs=n&form=QBLHCN&sp=-1&pq=&sc=0-0&sk=&cvid=F8B5A3DE0E464F8AABBD898E0C7BDF80
[2]
R包: https://evamaerey.github.io/ggplot2_grammar_guide/paletteer.html#1