我正在调整 geom_point 尝试绘制以下代码。我将 cars$vs 转换为一个具有离散级别的因子,以便可以通过将其分配给 ggplot aes 设置中的 "fill" 来使用不同颜色可视化该变量的两个级别。
cars <- mtcars
cars$vs <- as.factor(cars$vs)
ggplot(cars,aes(x = mpg, y = disp, fill = vs)) +
geom_point(size = 4) +
scale_fill_discrete(name = "Test")
如您所见,图表并没有通过颜色区分“fill”条件。然而,它保留了我在scale_fill_discrete中指定的图例标签。
或者,我可以绘制以下内容(相同的代码,但是使用“color”代替“fill”)
cars <- mtcars
cars$vs <- as.factor(cars$vs)
ggplot(cars,aes(x = mpg, y = disp, color = vs)) +
geom_point(size = 4) +
scale_fill_discrete(name = "Test")
从上图中可以看出,使用 "color" 而不是 "fill" 来区分因子的级别,但似乎会覆盖使用 scale_fill_discrete 更改图例标题的任何更改。
我是否错误地使用了 "fill"?如何使用此方法将因子的不同级别绘制为不同颜色,并通过 scale_fill_discrete 控制图例?
fill
和scale_fill_discrete
时,它不起作用。然而,使用color
和scale_color_discrete
却可以。为什么第一种方法不起作用,而第二种方法却可以? - pablomfill
是用来填充几何对象内部颜色的,而默认形状为0维的点没有内部可供填充。另一方面,color
用于定义对象边界的颜色,而点本身就是其边界,因此可以使用。 - Psidom