这些函数允许您指定自己的一组从数据级别到美学值的映射。
用法
scale_colour_manual(
...,
values,
aesthetics = "colour",
breaks = waiver(),
na.value = "grey50"
)
scale_fill_manual(
...,
values,
aesthetics = "fill",
breaks = waiver(),
na.value = "grey50"
)
scale_size_manual(..., values, breaks = waiver(), na.value = NA)
scale_shape_manual(..., values, breaks = waiver(), na.value = NA)
scale_linetype_manual(..., values, breaks = waiver(), na.value = "blank")
scale_linewidth_manual(..., values, breaks = waiver(), na.value = NA)
scale_alpha_manual(..., values, breaks = waiver(), na.value = NA)
scale_discrete_manual(aesthetics, ..., values, breaks = waiver())
参数
- ...
-
参数传递给
discrete_scale
palette
-
调色板函数,当使用单个整数参数(比例中的级别数)调用时,返回它们应采用的值(例如
scales::hue_pal()
)。 limits
-
之一:
-
NULL
使用默认比例值 -
定义可能的比例值及其顺序的字符向量
-
接受现有(自动)值并返回新值的函数。还接受 rlang lambda 函数表示法。
-
drop
-
是否应该从量表中省略未使用的因子水平?默认值
TRUE
使用数据中出现的级别;FALSE
使用因子中的所有级别。 na.translate
-
与连续尺度不同,离散尺度可以轻松显示缺失值,并且默认情况下会这样做。如果要从离散尺度中删除缺失值,请指定
na.translate = FALSE
。 scale_name
-
应用于与该比例关联的错误消息的比例名称。
name
-
秤的名称。用作轴或图例标题。如果
waiver()
(默认值),则比例名称取自用于该美学的第一个映射。如果是NULL
,则图例标题将被省略。 labels
-
之一:
guide
-
用于创建指南或其名称的函数。有关详细信息,请参阅
guides()
。 super
-
用于构造比例的超类
- values
-
将数据值映射到的一组美学值。这些值将按顺序(通常按字母顺序)与比例限制匹配,或者与
breaks
(如果提供)匹配。如果这是一个命名向量,则将根据名称来匹配值。不匹配的数据值将被赋予na.value
。 - aesthetics
-
字符串或字符串向量,列出了该比例所使用的美学名称。例如,这可以用于通过
aesthetics = c("colour", "fill")
同时将颜色设置应用于colour
和fill
美学。 - breaks
-
之一:
-
NULL
不间断 -
waiver()
用于默认中断(比例限制) -
中断的特征向量
-
将限制作为输入并返回中断作为输出的函数
-
- na.value
-
用于缺失 (
NA
) 值的美学值
细节
函数 scale_colour_manual()
、 scale_fill_manual()
、 scale_size_manual()
等适用于比例名称中指定的美观: colour
、 fill
、 size
等。但是,函数 scale_colour_manual()
和 scale_fill_manual()
还有一个可选的 aesthetics
参数,可用于通过单个函数调用定义 colour
和 fill
美学映射(请参阅示例)。函数 scale_discrete_manual()
是一个通用尺度,可以与通过 aesthetics
参数提供的任何美学或一组美学一起使用。
色盲
许多源自 RGB 组合的调色板(例如 "rainbow" 调色板)并不适合支持所有观看者,尤其是那些有色觉缺陷的观看者。使用 viridis
类型(颜色和 black-and-white 显示在感知上一致)是确保可视化具有良好感知属性的简单选择。色彩空间包提供的函数
-
生成具有良好感知特性的调色板,
-
分析给定的调色板,例如模拟色盲,
-
并修改给定的调色板以获得更好的感知能力。
有关色觉缺陷和合适的颜色选择的更多信息,请参阅paper on the colorspace package 及其参考文献。
例子
p <- ggplot(mtcars, aes(mpg, wt)) +
geom_point(aes(colour = factor(cyl)))
p + scale_colour_manual(values = c("red", "blue", "green"))
# It's recommended to use a named vector
cols <- c("8" = "red", "4" = "blue", "6" = "darkgreen", "10" = "orange")
p + scale_colour_manual(values = cols)
# You can set color and fill aesthetics at the same time
ggplot(
mtcars,
aes(mpg, wt, colour = factor(cyl), fill = factor(cyl))
) +
geom_point(shape = 21, alpha = 0.5, size = 2) +
scale_colour_manual(
values = cols,
aesthetics = c("colour", "fill")
)
# As with other scales you can use breaks to control the appearance
# of the legend.
p + scale_colour_manual(values = cols)
p + scale_colour_manual(
values = cols,
breaks = c("4", "6", "8"),
labels = c("four", "six", "eight")
)
# And limits to control the possible values of the scale
p + scale_colour_manual(values = cols, limits = c("4", "8"))
p + scale_colour_manual(values = cols, limits = c("4", "6", "8", "10"))
相关用法
- R ggplot2 scale_gradient 渐变色阶
- R ggplot2 scale_shape 形状比例,又称字形
- R ggplot2 scale_viridis 来自 viridisLite 的 Viridis 色标
- R ggplot2 scale_grey 连续灰度色阶
- R ggplot2 scale_linetype 线条图案的比例
- R ggplot2 scale_discrete 离散数据的位置尺度
- R ggplot2 scale_colour_discrete 离散色阶
- R ggplot2 scale_steps 分级渐变色标
- R ggplot2 scale_size 面积或半径比例
- 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等大神的英文原创作品 Create your own discrete scale。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。