代码之家  ›  专栏  ›  技术社区  ›  Panos Kalatzantonakis

轮廓分组图

  •  0
  • Panos Kalatzantonakis  · 技术社区  · 4 年前

    我想把一组图形的轮廓画出来。

    # Libraries
    library(ggplot2)
    library(babynames)
    library(dplyr)
    
    # Keep only 3 names
    don <- babynames %>% 
      filter(name %in% c("Ashley", "Patricia", "Helen")) %>%
      filter(sex=="F")
      
    # Plot
    don %>%
      ggplot( aes(x=year, y=n, group=name, color=name)) +
        geom_line()
    

    grouped plot

    有可能只保留生成的图形的轮廓吗? 输出示例:

    Final output

    1 回复  |  直到 4 年前
        1
  •  2
  •   Ronak Shah    4 年前

    可能会有 ggplot2 这样做的方法,但这里一个尝试使用 dplyr :

    library(dplyr)
    library(ggplot2)
    
    don %>%
      group_by(year) %>%
      slice(which.max(n)) %>%
      ggplot( aes(x=year, y=n, group=name, color=name)) +
      geom_line()
    

    enter image description here

    这里的逻辑是我们只保留与max的那一行 n 每个的值 year 所以它删除了所有在我们想要的轮廓线下绘制的线。