R 如何筛选ggplot条形图以仅显示阈值以上的计数

R 如何筛选ggplot条形图以仅显示阈值以上的计数,r,ggplot2,R,Ggplot2,假设我使用以下方法生成下面的条形图。我怎么能只想象计数在20以上的酒吧呢?我能够对我创建的变量或存在于数据中的变量执行这种过滤,但我不确定如何访问/过滤ggplot生成的自动计数。谢谢 g <- ggplot(mpg, aes(class)) g + geom_bar() g在绘图和使用stat=“identity”之前聚合和过滤数据可能是最简单的解决方案,例如: library(tidyverse) mpg %>% group_by(class) %>% cou

假设我使用以下方法生成下面的条形图。我怎么能只想象计数在20以上的酒吧呢?我能够对我创建的变量或存在于数据中的变量执行这种过滤,但我不确定如何访问/过滤ggplot生成的自动计数。谢谢

g <- ggplot(mpg, aes(class))
g + geom_bar()

g在绘图和使用
stat=“identity”
之前聚合和过滤数据可能是最简单的解决方案,例如:

library(tidyverse)

mpg %>% 
  group_by(class) %>%
  count %>%
  filter(n > 20) %>%
  ggplot(aes(x = class, y = n)) + 
  geom_bar(stat = "identity")

你可以试试这个,所以自动计数是..计数。。在aes中(是的,我知道这很奇怪,你可以看到)。如果你应用了一个ifelse,这使得它为NA如果<20,那么你就有了你的图。。(不是很好的代码…)

G20,…计数…,NA)))

我不知道如何做到这一点,我同意下面的MSR,简单的解决方案就是预先聚合数据。但是,正如我们在geom_文本中所看到的,应该可以访问计数以将其放到过滤器
ggplot(mpg,aes(class))+geom_bar()+geom_文本(stat='count',aes(label=..count..)
g <- ggplot(mpg, aes(class))
g + geom_bar(aes(y = ifelse(..count.. > 20, ..count.., NA)))