作为可重复的示例,请使用
library(tidyverse)
iris_count <- count(iris, Species)
iris_count %>%
mutate(Species2 = ifelse(Species == "setosa", NA, as.character(Species))) %>%
ggplot(aes(reorder(Species2, -n), n)) +
geom_col(na.rm = TRUE)
我想从图中删除NA
,但在这种情况下,选项na.rm = TRUE
似乎无法执行我想要的操作。
答案 0 :(得分:3)
使用scale_x_discrete
和参数na.translate = FALSE
。来自scale_x_discrete
文档:
na.translate
与连续比例不同,离散比例可以轻松显示缺失值,默认情况下也是如此。如果要从离散比例中删除缺失值,请指定na.translate = FALSE。
library(ggplot2)
library(dplyr)
iris_count <- count(iris, Species)
iris_count %>%
mutate(Species2 = ifelse(Species == "setosa", NA, as.character(Species))) %>%
ggplot(aes(reorder(Species2, -n), n)) +
geom_col() +
scale_x_discrete(na.translate = FALSE)