【问题标题】:scale_fill_manual define color for NA valuesscale_fill_manual 为 NA 值定义颜色
【发布时间】:2017-12-22 00:20:21
【问题描述】:

我尝试使用 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,即使它适用于所有其他值。

谁能帮我找出原因?

感谢您的帮助

【问题讨论】:

  • 试试scale_fill_manual(values=c("s"="steelblue", "i"="darkgoldenrod2", "r"="firebrick4"), na.value="black")
  • arg values 不包括 arg na.value 所以靠近values 的向量
  • 谢谢,原来这么简单^^

标签: r ggplot2 colors bar-chart na


【解决方案1】:

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")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-11
    • 1970-01-01
    • 2018-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-11
    • 2017-01-03
    相关资源
    最近更新 更多