如何将 NA 的数量添加到不包含 NA 的条形图中

问题描述 投票:0回答:1

我正在尝试添加有关在条形图中观察到的 NA 数量的数据,作为简单文本 - 请参阅下面的示例。

我一直在努力要么在 ggplot 调用之前过滤掉所有 NA——这迫使我依赖 annotate("text" ...) 添加一个额外的层(与原始绘图数据分离)——要么将 NA 保留在绘图数据中,在 geom_bar 调用中过滤掉它们并添加 geom_text ...不过我运气不太好。

最小工作示例的代码:

df <- data.frame(y = factor(sample(letters[24:26], 50, replace=TRUE)), x = factor(sample(c(LETTERS[1:3], NA), 50, replace=TRUE)))
df[df$y=="x" & is.na(df$x),'x'] <- "A"
ggplot(df, aes(y=y, fill=x)) + geom_bar(position="fill")

...代码中的第 2 行只是为了确保分组变量实例 (y) 之一没有 NA。

输出:

所需输出:

r ggplot2 na geom-bar
1个回答
0
投票

这适合你吗?

ggplot(df, aes(y=y, fill=x)) + 
  geom_bar(position="fill", data = function(d) filter(d, !is.na(x)))

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.