這是一個繪製問題。ggplot:刪除NA因子水平在傳說
從nycflights13數據庫,我創建了一個名爲tot_delay一個新的連續變量,然後創建了一個名爲delay_class有4個級別的因素。當我繪製時,我會過濾出NA值,但它們仍然出現在圖例中。
我怎麼能輕易忽略NA從圖例值?這裏是我的代碼:
library(nycflights13)
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")
啊!很簡單。我應該通過delay_class過濾開始。由於還有一點,圖表本身很難看到NA,儘管它在圖例上顯示。你有我的投票'''scale_fill_manual()'''覆蓋圖例的方法。 –