如何更改ggplot中美学层的顺序?

Use*_*268 1 r layer ggplot2

如何更改美学层的顺序?这是和示例

dat <- tibble (acc = rep(c(0,1), 200),
               rt = rnorm(400, 0.5, 0.1))

dat %>% ggplot(aes(x = rt, fill = factor(acc))) + 
  geom_density(aes(y= ..count..*0.03), alpha = 0.6)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

此代码绘制此图像。此处,绿色 (1) 层位于红色 (0) 层上方。如何将红色 (0) 层放在绿色 (1) 之上?

我试过了

dat %>% ggplot(aes(x = rt, fill = factor(acc, levels = c(1,0)))) + 
  geom_density(aes(y= ..count..*0.03), alpha = 0.6)
Run Code Online (Sandbox Code Playgroud)

但这会导致颜色位置的切换!

在此处输入图片说明

Jrm*_*FRL 6

您可以重新排序您的级别factor并添加颜色调整:

dat %>% ggplot(aes(x = rt, 
                   fill = factor(acc, levels = c(1,0)))) + 
  geom_density(aes(y= ..count..*0.03), alpha = 0.6)+
scale_fill_manual(values = c("1" = "#00BFC4", "0" = "#F8766D"))
Run Code Online (Sandbox Code Playgroud)