迄今为止最优秀的配色R包

前言

配色是个审美问题,我们通常都是拿别人配好的一组颜色来画图。用来配色的包很多,今天介绍的是一个组合拳,内置了几乎所有配色R包,配色组合数量2000+,可谓是最齐全的了。

它吸引我的有两个地方:

可以直接在控制台显示出颜色

使用起来异常简单明了

无缝对接ggplot

行吧,三个地方,我不倒回去改了有点激动

1.安装

if(!require(paletteer))install.packages("paletteer")
if(!require(scico))install.packages('scico')
if(!require(nord))install.packages('nord')
library(paletteer)

paletteer就是今天的主角,十分优秀

2.一分钟上手

支持两类配色:

paletteer_c:连续型配色,映射颜色的那一列是一串连续的数据,最常见的连续型数据就是数值,举个栗子:

paletteer_d:离散型配色,映射颜色的那一列有固定几个的取值,每个取值对应一个颜色。

其中离散型配色中有个paletteer_dynamic,即动态配色,就是说可以把一组颜色任意切分成n个颜色,取决于你想要多少种颜色,要多少就有多少,如下图,n等于几就是要几种颜色咯

image.png

下面是使用方法,将配色以十六进制编码的形式输出出来,成为一个自定义颜色时可直接使用的向量。并且这个输出在控制台上就显示了颜色,非常直观

paletteer_c("scico::berlin", n = 10)

## <colors>
## #9EB0FFFF #5AA3DAFF #2D7597FF #194155FF #11181DFF #270C01FF #501802FF #8A3F2AFF #C37469FF #FFACACFF

paletteer_d("RColorBrewer::Paired")

## <colors>
## #A6CEE3FF #1F78B4FF #B2DF8AFF #33A02CFF #FB9A99FF #E31A1CFF #FDBF6FFF #FF7F00FF #CAB2D6FF #6A3D9AFF #FFFF99FF #B15928FF

paletteer_dynamic("cartography::green.pal", 5)

## <colors>
## #B8D9A9FF #8DBC80FF #5D9D52FF #287A22FF #17692CFF


引号里是包名::配色名,并不需要自己去查,直接按键盘上Q前面那个tab即可。顺便秀一下我新定制的表情包:

3.傻瓜式对接ggplot2

我看到包的作者致谢了哈德雷大佬,如此无缝的对接只有大佬能做。

library(ggplot2)
ggplot(iris, aes(Sepal.Length, Sepal.Width, color = Species)) +
  geom_point() +
  scale_color_paletteer_d("basetheme::minimal")

image.png

ggplot(iris, aes(Sepal.Length, Sepal.Width, color = Sepal.Width)) +
  geom_point() +
  scale_color_paletteer_c("grDevices::PinkYl")

image.png

这样的对接方式,基于ggplot2的所有R包都可以用了。比如ggpubr

library(ggpubr)
data("ToothGrowth")
df <- ToothGrowth
ggboxplot(df, x = "dose", y = "len", width = 0.8,color = "dose")+
  scale_color_paletteer_d("basetheme::minimal")

image.png

5.对接其他绘图R包

pheatmap

pheatmap::pheatmap(volcano,color = paletteer_c("scico::berlin", n = 100))

image.png

为什么这里是100呢?倒也不是必须100,只是热图默认配色也是把红黄蓝切成了100种颜色。

ComplexHeatmap

library(ComplexHeatmap)
Heatmap(t(iris[,1:4]),col = paletteer_c("scico::berlin", n = 100),name = "iris")

image.png

  • 18
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小洁忘了怎么分身

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值