如何在图例中省略因子的NA
水平?
我从nycflights13
数据库创建了一个新的连续变量tot_delay
,然后创建了一个具有4个水平的因子delay_class
。当我绘制图形时,过滤掉NA
值,但它们仍然出现在图例中。这是我的代码:
library(nycflights13); library(ggplot2)
flights$tot_delay = flights$dep_delay + flights$arr_delay
flights$delay_class <- cut(flights$tot_delay,
c(min(flights$tot_delay, na.rm = TRUE), 0, 20 , 120,
max(flights$tot_delay, na.rm = TRUE)),
labels = c("none", "short","medium","long"))
filter(flights, !is.na(tot_delay)) %>%
ggplot() +
geom_bar(mapping = aes(x = carrier, fill = delay_class), position = "fill")
scale_fill_manual()
方法覆盖图例非常好用,我投你一票。 - Rich Pauloo