我使用ggplot2绘制了一个条形图,它绘制了不同年龄段的特定事物的百分比。如何在不更改百分比的情况下删除NA值中不必要的大列?我不想从数据中删除NA值,因为查看整个总体数据的百分比非常重要。
同样的问题也被问到here,但没有人回答。
下面是我使用的代码:
df_final %>%
ggplot() +
geom_bar(aes(x, y = ..prop.., group = 1), stat = "count") +
scale_y_continuous(labels = scales::percent) +
xlab("age.category") +
ylab("Percentage") +
theme_classic()
代码的输出。我需要在不影响百分比的情况下删除巨大的NA列。
尝试使用gtable来删除部分情节,但无济于事。我不想要这样的解决方案,我需要一个简单优雅的解决方案。
1条答案
按热度按时间wsxa1bj11#
一个简单的解决方案是在ggplot()之外计算包含
NA
s的计数和属性,然后在绘图之前过滤非NA
s。使用一些假随机示例数据: