当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R ggplot2 scale_steps 分级渐变色标


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_scale

n.breaks

如果未直接给出中断,则要创建的断点数量。

nice.breaks

逻辑性强。应该尝试将中断设置为合适的值,而不是在限制之间完全均匀地间隔。如果TRUE(默认),比例将要求转换对象创建中断,这可能会导致中断数量与请求的数量不同。如果明确给出中断,则忽略。

right

间隔应该在右侧闭合(TRUE,默认)还是间隔应该在左侧闭合(FALSE)? “在右侧闭合”意味着中断位置处的值是下部箱的一部分(在左侧打开),而当间隔在左侧闭合(在右侧打开)时,它们是上部箱的一部分。

show.limits

刻度的界限是否应显示为刻度

name

秤的名称。用作轴或图例标题。如果 waiver() (默认值),则比例名称取自用于该美学的第一个映射。如果是 NULL ,则图例标题将被省略。

breaks

之一:

labels

之一:

  • NULL 无标签

  • waiver() 用于由转换对象计算的默认标签

  • 给出标签的字符向量(必须与 breaks 长度相同)

  • 表达向量(必须与中断长度相同)。有关详细信息,请参阅?plotmath。

  • 将中断作为输入并返回标签作为输出的函数。还接受 rlang lambda 函数表示法。

limits

之一:

  • NULL 使用默认比例范围

  • 长度为 2 的数值向量,提供尺度限制。使用NA来引用现有的最小值或最大值

  • 接受现有(自动)限制并返回新限制的函数。还接受 rlang lambda 函数表示法。请注意,对位置比例设置限制将删除限制之外的数据。如果目的是缩放,请使用坐标系中的 limit 参数(请参阅 coord_cartesian() )。

oob

之一:

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

对于位置刻度,轴的位置。 leftright 表示 y 轴,topbottom 表示 x 轴。

super

用于构造比例的超类

low, high

渐变低端和高端的颜色。

space

用于计算渐变的颜色空间。必须是 "Lab" - 其他值已弃用。

na.value

用于缺失值的颜色

guide

图例类型。使用 "colourbar" 表示连续颜色条,或使用 "legend" 表示离散颜色图例。

aesthetics

字符串或字符串向量,列出了该比例所使用的美学名称。例如,这可以用于通过 aesthetics = c("colour", "fill") 同时将颜色设置应用于 colourfill 美学。

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/scale-steps.RR/zxx.R

相关用法


注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 Binned gradient colour scales。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。