scale_fill_manual定义NA值的颜色

Gar*_*yDe 8 r colors bar-chart ggplot2 na

我尝试用ggplot2制作一个条形图,并且面临着为NA定义颜色的一些问题.

ggh <- ggplot(data=dat, aes(x=var1, fill=var2))+
  geom_bar(position="dodge")+
  scale_fill_manual(
    values=c("s"="steelblue", "i"="darkgoldenrod2", "r"="firebrick4", na.value="black"))
Run Code Online (Sandbox Code Playgroud)

在我的var2中,我有价值观c("s", "i", "r", NA).由于某些原因,我上面的代码scale_fill_manual对NA不起作用,即使它适用于所有其他值.

有人可以帮我找出原因吗?

谢谢您的帮助

Pet*_*ter 18

na.value需求是外面的values说法.这是一个例子:

library(ggplot2)

set.seed(42)

mydata <- data.frame(var1 = sample(c("A", "B", "C", "D"), 150, replace = TRUE),
                     var2 = sample(c("s", "i", "r", NA), 150, replace = TRUE))

ggplot(mydata) +
  aes(x = var1, fill = var2) +
  geom_bar() + 
  scale_fill_manual(values = c("s" = "steelblue",
                               "i" = "darkgoldenrod2",
                               "r" = "firebrick4"),
                    na.value = "black")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述