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


R ggplot2 scale_size 面积或半径比例


scale_size() 缩放区域,scale_radius() 缩放半径。尺寸美学最常用于点和文本,人类感知点的面积(而不是它们的半径),因此这提供了最佳感知。 scale_size_area() 确保值 0 映射到大小 0。scale_size_binned()scale_size() 的分箱版本,按区域缩放(但不确保 0 等于零区域)。对于 scale_size_area() 的分级等效项,请使用 scale_size_binned_area()

用法

scale_size(
  name = waiver(),
  breaks = waiver(),
  labels = waiver(),
  limits = NULL,
  range = c(1, 6),
  trans = "identity",
  guide = "legend"
)

scale_radius(
  name = waiver(),
  breaks = waiver(),
  labels = waiver(),
  limits = NULL,
  range = c(1, 6),
  trans = "identity",
  guide = "legend"
)

scale_size_binned(
  name = waiver(),
  breaks = waiver(),
  labels = waiver(),
  limits = NULL,
  range = c(1, 6),
  n.breaks = NULL,
  nice.breaks = TRUE,
  trans = "identity",
  guide = "bins"
)

scale_size_area(..., max_size = 6)

scale_size_binned_area(..., max_size = 6)

参数

name

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

breaks

之一:

labels

之一:

  • NULL 无标签

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

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

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

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

limits

之一:

  • NULL 使用默认比例范围

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

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

range

长度为 2 的数值向量,指定变换后绘图符号的最小和最大尺寸。

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() 创建自己的转换。

guide

用于创建指南或其名称的函数。有关详细信息,请参阅guides()

n.breaks

指导主要中断次数的整数。该算法可能会选择稍微不同的数字以确保良好的中断标签。仅在 breaks = waiver() 时有效。使用 NULL 使用转换给出的默认中断数。

nice.breaks

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

...

参数传递给continuous_scale

minor_breaks

之一:

  • NULL 没有小中断

  • waiver() 用于默认中断(每个主要中断之间有一个次要中断)

  • 位置的数值向量

  • 给定限制的函数返回一个由次要中断组成的向量。还接受 rlang lambda 函数表示法。

oob

之一:

na.value

缺失值将替换为该值。

expand

对于位置刻度,范围扩展常量的向量,用于在数据周围添加一些填充,以确保它们放置在距轴一定距离的位置。使用便捷函数expansion() 生成expand 参数的值。默认情况下,对于连续变量,每侧扩展 5%,对于离散变量,每侧扩展 0.6 个单位。

position

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

super

用于构造比例的超类

max_size

最大点的大小。

注意

从历史上看,尺寸美学用于两种不同的用途:缩放对象的尺寸(如点和字形)和缩放线条的宽度。从 ggplot2 3.4.0 开始,后者已移至其自己的线宽美学。为了向后兼容,仍然可以使用尺寸,但强烈建议在这些情况下切换到新的线宽美观。

也可以看看

scale_size_area() 如果您希望将 0 个值映射到大小为 0 的点。 scale_linewidth() 如果您想缩放线的宽度。

例子

p <- ggplot(mpg, aes(displ, hwy, size = hwy)) +
   geom_point()
p

p + scale_size("Highway mpg")

p + scale_size(range = c(0, 10))


# If you want zero value to have zero size, use scale_size_area:
p + scale_size_area()


# Binning can sometimes make it easier to match the scaled data to the legend
p + scale_size_binned()


# This is most useful when size is a count
ggplot(mpg, aes(class, cyl)) +
  geom_count() +
  scale_size_area()


# If you want to map size to radius (usually bad idea), use scale_radius
p + scale_radius()

源代码:R/scale-size.R

相关用法


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