我观察到一种奇怪的行为。映射cyl
变量(来自 mtcars 数据)生成了具有 5 个不同级别的图表,alpha
尽管实际上只有三个级别可用?
这是 bug 吗?还是我遗漏了什么?
library(tidyverse)
count(mtcars, cyl)
#> cyl n
#> 1 4 11
#> 2 6 7
#> 3 8 14
ggplot(mtcars, aes(x = wt, y = mpg)) +
geom_point(aes(alpha = cyl), size = 4)
创建于 2024-08-24,使用reprex v2.1.1
原因是它
cyl
是一个连续变量,默认情况下,连续尺度的中断数是使用scales::breaks_extended
(虽然不能 100% 确定这适用于所有情况,但(:))设置的,默认情况下也会返回近似的n=5
中断。修复该问题的简单方法是将其转换为
factor
:或者通过比例明确设置中断: