有条理地使用自定义颜色突出显示数据点

时间:2018-01-22 19:43:21

标签: r ggplot2

如果点数低于每加仑20英里,我想要有条件地将点格式化为红色;如果点数大于20英里/加仑,我想要格式化为绿色。这有效(但不是我想要的颜色)。

ggplot(mtcars, aes(wt, mpg)) + 
  geom_point(aes(color = cut(mpg, c(-Inf, 20, Inf))), size = 5)

一旦我想到并尝试选择我自己的配色方案,事情就会破裂。

ggplot(mtcars, aes(wt, mpg)) + 
  geom_point(aes(color = cut(mpg, c(-Inf, 20, Inf))), size = 5) +
  scale_color_manual(name = "mpg",
                     values = c("(-Inf, 20]" = "red",
                                "(20, Inf]" = "green"),
                     labels = c("<= 20", "> 20"))

我在stackoverflow上找到了遵循相同模板的其他示例,但这并不起作用。我得到了这个错误,所有低于20英里/加仑的点都被删除了。

  

警告消息:删除了包含缺失值的18行   (geom_point)。

1 个答案:

答案 0 :(得分:3)

ggplot(mtcars, aes(wt, mpg)) + 
  geom_point(aes(color = cut(mpg, c(-Inf, 20, Inf))), size = 5) +
  scale_color_manual(name = "mpg",
                     values = c("red",
                                "green"),
                     breaks = c("(-Inf,20]",
                                "(20, Inf]"),
                     labels = c("<= 20", "> 20"))

将间隔放在&#34;休息&#34;参数。