我正在修改geom_point尝试绘制以下代码。我已经将cars $ vs转换为具有离散级别的因子,以便通过将其分配给ggplot aes设置中的“填充”,可以用不同的颜色可视化该变量的两个级别。
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")
Run Code Online (Sandbox Code Playgroud)

如您所见,该图没有通过颜色区分两种“填充”条件。但是,它保留了我在scale_fill_discrete中指定的图例标签。
另外,我可以绘制以下内容(相同的代码,但请使用“颜色”代替“填充”)
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")
Run Code Online (Sandbox Code Playgroud)
如您所见,使用“颜色”而不是“填充”可以通过颜色区分因子的级别,但是似乎可以覆盖我使用scale_fill_discrete对图例标题所做的任何更改。
我是否错误地使用“填充”?如何使用此方法以不同的颜色绘制因子的不同级别并通过scale_fill_discrete控制图例?
由于您color用作映射,因此可以使用scale_color_*来更改相应的属性,而不是scale_fill_*:
ggplot(cars,aes(x = mpg, y = disp, color = vs)) +
geom_point(size = 4) +
scale_color_discrete(name = "Test")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1551 次 |
| 最近记录: |