关于颜色的标尺函数在ggplot2中竟然多达22种,如此多的标尺函数未免使人感到疑惑
library(ggplot2)
grep('scale_color_*', x = ls('package:ggplot2'), value = TRUE)#在这里fill同理
[1] “scale_color_binned” “scale_color_brewer”
[3] “scale_color_continuous” “scale_color_date”
[5] “scale_color_datetime” “scale_color_discrete”
[7] “scale_color_distiller” “scale_color_fermenter”
[9] “scale_color_gradient” “scale_color_gradient2”
[11] “scale_color_gradientn” “scale_color_grey”
[13] “scale_color_hue” “scale_color_identity”
[15] “scale_color_manual” “scale_color_ordinal”
[17] “scale_color_steps” “scale_color_steps2”
[19] “scale_color_stepsn” “scale_color_viridis_b”
[21] “scale_color_viridis_c” “scale_color_viridis_d”
对颜色标尺函数的理解
让我们直入正题,虽然ggplot2拥有多达22种的标尺函数,但我们可以根据关键性质(一共分为三种),这样我们可以大体知道在不同的情形下具体使用哪个标尺函数。
- 数据映射的自然属性:
aes()
图形映射里描述的数据是连续的还是离散的?连续的典型如时间,温度,长度,离散的典型如分类结果ABCD。 - 颜色空间:
简单来说就是你在画图内使用的调色板,在默认情况下ggplot2已经给你设置了调色板,此外ggplot2还内置了RcolorBrewer调色板以及Viridis调色板 - 层级的控制:
一旦指定映射数据是否离散,规定颜色空间之后,用户就需要在颜色的层级上描述差异,例如*_continuous()
,*_gradient
,