如果点数低于每加仑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)。
答案 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;参数。