我试图找出scale_continuous()
expand
参数的工作原理。根据{{3}}:
长度为2的数字向量,给出乘法和加法 扩展常数。这些常量确保放置数据 离轴有一段距离。默认值为c(0.05,0) 连续变量,以及离散变量的c(0,0.6)。
由于它们是"扩展常数",它们不是实际单位。有没有办法将它们转换为实际测量值以预测实际输出?除了0之外的任何东西,我只是尝试随机数,直到它工作。必须有更合适的方法来解决这个问题。
答案 0 :(得分:18)
该文件非常清楚。如果您手动设置limits
,则会更清楚。我将举一些例子来说明它是如何工作的:
第一个参数赋予扩展等于其乘以极限范围;
ggplot(mpg, aes(displ, hwy)) +
geom_point() +
scale_x_continuous(limits = c(1, 7), expand = c(0.5, 0))
# right most position will be 7 + (7-1) * 0.5 = 10
第二个给出了轴两端的绝对膨胀:
ggplot(mpg, aes(displ, hwy)) +
geom_point() +
scale_x_continuous(limits = c(1, 7), expand = c(0.5, 2))
# right most position will be 7 + (7-1) * 0.5 + 2 = 12
最后,相同的扩展适用于轴的两端。
2019-01-23:我从@ C.Liu那里得知,新expand_scale
函数可用于实现不同扩展下限和上限。 multi
和add
参数类似于expand =
所需的两个值,但允许使用长度为2的向量来设置下限和上限。有关详细信息,请参阅C.liu的答案。
答案 1 :(得分:12)
expand_scale可能是仅微调轴的一端的选择。
ggplot(mpg, aes(displ, hwy)) +
geom_point() +
scale_x_continuous(limits = c(1, 7),
expand = expand_scale(mult = c(0, 0.5),
add = c(2, 0))
# left most position will be 1 - (7-1) * 0.0 -2 = -1,
# right most position will be 7 + (7-1) * 0.5 = 10
这是一个便利函数,用于为scale_ _continuous和scale _ _discrete的expand参数生成尺度扩展向量。展开向量用于在数据和轴之间添加一些空间。
expand_scale(mult = 0,add = 0)
参数 多人
乘数范围扩展因子的向量。如果长度为1,则刻度的下限和上限均会向外扩大。如果长度为2,则下限为 由mult 1扩展,由mult [2]扩展上限。 添加
加法范围扩展常数的向量。如果长度为1,则通过添加单位向外扩展刻度的上下限。如果长度为2,则下限由add 1扩展,上限由add [2]扩展。