library(tidyverse)
delta <- tibble(
type = c("alpha", "beta", "gamma"),
a = rnorm(3, 5),
b = rnorm(3, 6)
) %>%
mutate(delta = abs(a - b)) %>%
gather(`a`, `b`, `delta`, key = "letter", value = "value")
ggplot(delta %>% filter(letter != "delta"), aes(type, value, fill = letter)) +
geom_col(position = "dodge") +
geom_col(data = delta %>% filter(letter == "delta"), width = 0.5) +
scale_color_manual("grey", "black", "blue")
Run Code Online (Sandbox Code Playgroud)
我喜欢a和b酒吧是灰色和黑色.而delta酒吧是蓝色的.我该怎么做scale_color_manual()?似乎我上面的语法已关闭.
有两件事需要改变:
既然你已经习惯了fill = letter,你应该使用scale_fill_manual而不是scale_color_manual(如果你曾经使用的话,那将是合适的color = letter).
手动颜色values应作为矢量提供.
library(tidyverse)
delta <- tibble(
type = c("alpha", "beta", "gamma"),
a = rnorm(3, 5),
b = rnorm(3, 6)
) %>%
mutate(delta = abs(a - b)) %>%
gather(`a`, `b`, `delta`, key = "letter", value = "value")
ggplot(delta %>% filter(letter != "delta"), aes(type, value, fill = letter)) +
geom_col(position = "dodge") +
geom_col(data = delta %>% filter(letter == "delta"), width = 0.5) +
scale_fill_manual(values = c("grey", "black", "blue"))
Run Code Online (Sandbox Code Playgroud)

由reprex包创建于2018-10-08 (v0.2.1)