scale_fill_manual 为 NA 值定义颜色
scale_fill_manual define color for NA values
我尝试使用 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"))
在我的 var2 中我有值 c("s", "i", "r", NA)
。出于某种原因,我上面 scale_fill_manual
中的代码不适用于 NA,即使它适用于所有其他值。
谁能帮我弄清楚为什么?
感谢您的帮助
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")
我尝试使用 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"))
在我的 var2 中我有值 c("s", "i", "r", NA)
。出于某种原因,我上面 scale_fill_manual
中的代码不适用于 NA,即使它适用于所有其他值。
谁能帮我弄清楚为什么?
感谢您的帮助
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")