geom_blank丢弃NA

raw*_*awr 12 r ggplot2

使用geom_blank我想添加一些新的因子水平,但我似乎无法做到这一点保持NA水平

library('ggplot2')
pl <- ggplot(data.frame(x = factor(c(1:2, NA)), y = 1), aes(x, y)) + geom_point()
pl
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

pl + geom_blank(data = data.frame(x = addNA(factor(c(0:3, NA))), y = 1))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我希望x在0,1,2,3,NA使用 geom_blank

raw*_*awr 9

正如我在评论中所希望的那样,如果情节已经完成,解决方案可以重新排序图层,这应该适用于ggplots.

library('ggplot2')
pl <- ggplot(data.frame(x = factor(c(1:2, NA)), y = 1), aes(x, y)) +
  geom_point() +
  geom_blank(data = data.frame(x = addNA(factor(c(0:3, NA))), y = 1))


## not what I want
pl


## this is what I want
pl$layers <- rev(pl$layers)
pl
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述