scale_*_steps 创建两个颜色分级渐变 (low-high),scale_*_steps2 创建发散分级颜色渐变 (low-mid-high),scale_*_stepsn 创建 n-colour 分级渐变。这些比例是 gradient scale 系列的分级变体,并且工作方式相同。
用法
scale_colour_steps(
  ...,
  low = "#132B43",
  high = "#56B1F7",
  space = "Lab",
  na.value = "grey50",
  guide = "coloursteps",
  aesthetics = "colour"
)
scale_colour_steps2(
  ...,
  low = muted("red"),
  mid = "white",
  high = muted("blue"),
  midpoint = 0,
  space = "Lab",
  na.value = "grey50",
  guide = "coloursteps",
  aesthetics = "colour"
)
scale_colour_stepsn(
  ...,
  colours,
  values = NULL,
  space = "Lab",
  na.value = "grey50",
  guide = "coloursteps",
  aesthetics = "colour",
  colors
)
scale_fill_steps(
  ...,
  low = "#132B43",
  high = "#56B1F7",
  space = "Lab",
  na.value = "grey50",
  guide = "coloursteps",
  aesthetics = "fill"
)
scale_fill_steps2(
  ...,
  low = muted("red"),
  mid = "white",
  high = muted("blue"),
  midpoint = 0,
  space = "Lab",
  na.value = "grey50",
  guide = "coloursteps",
  aesthetics = "fill"
)
scale_fill_stepsn(
  ...,
  colours,
  values = NULL,
  space = "Lab",
  na.value = "grey50",
  guide = "coloursteps",
  aesthetics = "fill",
  colors
)
参数
- ...
 - 
参数传递给
binned_scalen.breaks- 
如果未直接给出中断,则要创建的断点数量。
 nice.breaks- 
逻辑性强。应该尝试将中断设置为合适的值,而不是在限制之间完全均匀地间隔。如果
TRUE(默认),比例将要求转换对象创建中断,这可能会导致中断数量与请求的数量不同。如果明确给出中断,则忽略。 right- 
间隔应该在右侧闭合(
TRUE,默认)还是间隔应该在左侧闭合(FALSE)? “在右侧闭合”意味着中断位置处的值是下部箱的一部分(在左侧打开),而当间隔在左侧闭合(在右侧打开)时,它们是上部箱的一部分。 show.limits- 
刻度的界限是否应显示为刻度
 name- 
秤的名称。用作轴或图例标题。如果
waiver()(默认值),则比例名称取自用于该美学的第一个映射。如果是NULL,则图例标题将被省略。 breaks- 
之一:
- 
NULL不间断 - 
waiver()用于由 transformation object 计算的默认中断 - 
位置的数值向量
 - 
将限制作为输入并返回中断作为输出的函数(例如
scales::extended_breaks()返回的函数)。还接受 rlang lambda 函数表示法。 
 - 
 labels- 
之一:
 limits- 
之一:
- 
NULL使用默认比例范围 - 
长度为 2 的数值向量,提供尺度限制。使用
NA来引用现有的最小值或最大值 - 
接受现有(自动)限制并返回新限制的函数。还接受 rlang lambda 函数表示法。请注意,对位置比例设置限制将删除限制之外的数据。如果目的是缩放,请使用坐标系中的 limit 参数(请参阅
coord_cartesian())。 
 - 
 oob- 
之一:
- 
处理超出范围限制(越界)的函数。还接受 rlang lambda 函数表示法。
 - 
默认值 (
scales::censor()) 将超出范围的值替换为NA。 - 
scales::squish()用于将超出范围的值压缩到范围内。 - 
scales::squish_infinite()用于将无限值压缩到范围内。 
 - 
 trans- 
对于连续比例,变换对象的名称或对象本身。内置转换包括"asn"、"atanh"、"boxcox"、"date"、"exp"、"hms"、"identity"、"log"、"log10"、"log1p","log2","logit"、"modulus"、"probability"、"probit"、"pseudo_log"、"reciprocal"、"reverse"、"sqrt" 和 "time"。
变换对象将变换、其逆变换以及用于生成中断和标签的方法捆绑在一起。转换对象在 scales 包中定义,称为
<name>_trans(例如scales::boxcox_trans())。您可以使用scales::trans_new()创建自己的转换。 expand- 
对于位置刻度,范围扩展常量的向量,用于在数据周围添加一些填充,以确保它们放置在距轴一定距离的位置。使用便捷函数
expansion()生成expand参数的值。默认情况下,对于连续变量,每侧扩展 5%,对于离散变量,每侧扩展 0.6 个单位。 position- 
对于位置刻度,轴的位置。
left或right表示 y 轴,top或bottom表示 x 轴。 super- 
用于构造比例的超类
 
 - low, high
 - 
渐变低端和高端的颜色。
 - space
 - 
用于计算渐变的颜色空间。必须是 "Lab" - 其他值已弃用。
 - na.value
 - 
用于缺失值的颜色
 - guide
 - 
图例类型。使用
"colourbar"表示连续颜色条,或使用"legend"表示离散颜色图例。 - aesthetics
 - 
字符串或字符串向量,列出了该比例所使用的美学名称。例如,这可以用于通过
aesthetics = c("colour", "fill")同时将颜色设置应用于colour和fill美学。 - mid
 - 
中点颜色
 - midpoint
 - 
发散尺度的中点(数据值)。默认为 0。
 - colours, colors
 - 
用于 n-colour 渐变的颜色向量。
 - values
 - 
如果颜色不应该沿着渐变均匀定位,则该向量给出
colours向量中每种颜色的位置(0 到 1 之间)。有关将任意范围映射到 0 到 1 之间的便捷函数,请参阅rescale()。 
细节
默认颜色是用生成的孟塞尔和mnsl(c("2.5PB 2/4", "2.5PB 7/10"))。通常,对于连续色标,您希望保持色调恒定,但改变色度和亮度。这孟塞尔使用孟塞尔颜色系统包可以轻松实现这一点。
也可以看看
scales::seq_gradient_pal() 有关底层调色板的详细信息,scale_colour_gradient() 用于无分箱的连续比例。
其他色标:scale_alpha()、scale_colour_brewer()、scale_colour_continuous()、scale_colour_gradient()、scale_colour_grey()、scale_colour_hue()、scale_colour_viridis_d()
例子
set.seed(1)
df <- data.frame(
  x = runif(100),
  y = runif(100),
  z1 = rnorm(100)
)
# Use scale_colour_steps for a standard binned gradient
ggplot(df, aes(x, y)) +
  geom_point(aes(colour = z1)) +
  scale_colour_steps()
# Get a divergent binned scale with the *2 variant
ggplot(df, aes(x, y)) +
  geom_point(aes(colour = z1)) +
  scale_colour_steps2()
# Define your own colour ramp to extract binned colours from
ggplot(df, aes(x, y)) +
  geom_point(aes(colour = z1)) +
  scale_colour_stepsn(colours = terrain.colors(10))
相关用法
- R ggplot2 scale_shape 形状比例,又称字形
 - R ggplot2 scale_size 面积或半径比例
 - R ggplot2 scale_gradient 渐变色阶
 - R ggplot2 scale_viridis 来自 viridisLite 的 Viridis 色标
 - R ggplot2 scale_grey 连续灰度色阶
 - R ggplot2 scale_linetype 线条图案的比例
 - R ggplot2 scale_discrete 离散数据的位置尺度
 - R ggplot2 scale_manual 创建您自己的离散尺度
 - R ggplot2 scale_colour_discrete 离散色阶
 - R ggplot2 scale_date 日期/时间数据的位置刻度
 - R ggplot2 scale_continuous 连续数据的位置比例(x 和 y)
 - R ggplot2 scale_binned 用于对连续数据进行装箱的位置比例(x 和 y)
 - R ggplot2 scale_alpha Alpha 透明度比例
 - R ggplot2 scale_colour_continuous 连续色标和分级色标
 - R ggplot2 scale_identity 使用不缩放的值
 - R ggplot2 scale_linewidth 线宽比例
 - R ggplot2 scale_hue 离散数据的均匀间隔颜色
 - R ggplot2 scale_brewer ColorBrewer 的连续、发散和定性色标
 - R ggplot2 stat_ellipse 计算法行数据椭圆
 - R ggplot2 stat_identity 保留数据原样
 - R ggplot2 stat_summary_2d 以二维形式进行分类和汇总(矩形和六边形)
 - R ggplot2 should_stop 在示例中用于说明何时应该发生错误。
 - R ggplot2 stat_summary 总结唯一/分箱 x 处的 y 值
 - R ggplot2 stat_sf_coordinates 从“sf”对象中提取坐标
 - R ggplot2 stat_unique 删除重复项
 
注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 Binned gradient colour scales。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
