代码之家  ›  专栏  ›  技术社区  ›  F. Privé

不要用ggplot2绘制一些计数

  •  1
  • F. Privé  · 技术社区  · 7 年前

    作为可重复的示例,使用

    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 在这种情况下似乎做不到我想要的。

    1 回复  |  直到 7 年前
        1
  •  3
  •   Victorp    7 年前

    使用 scale_x_discrete 和争论 na.translate = FALSE . 从 比例x离散 文档:

    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)