【问题标题】:Create individual plots for all values in a variable为变量中的所有值创建单独的图
【发布时间】:2021-10-06 17:57:59
【问题描述】:

我的数据集有 3 列:高中名称、年份和进入大学的百分比,其中包括 8 年的 104 所高中。

school chrt_grad enrolled
Alba 2012 0.486
Alba 2013 0.593
Alba 2014 0.588
Alba 2015 0.588
Alba 2016 0.547
Alba 2017 0.613
Alba 2018 0.622
Alba 2019 0.599
Alba 2020 0.614
City 2012 0.588
City 2013 0.613

等等……

我正在尝试制作 104 个单独的线图——每所学校一个。我首先创建了一个显示每所学校的单线图:

ggplot(nsc_enroll,
         mapping = aes(x = chrt_grad, y = enrolled, group = school)) +
  geom_line() +
  geom_point()

如何为 104 所学校中的每所学校创建单独的地块,而不必一遍又一遍地过滤每个学校的名称?

【问题讨论】:

    标签: r loops ggplot2 tidyverse line


    【解决方案1】:

    您可以将facet_wrapggplot 一起使用,

    ggplot(mtcars, aes(x = hp, y = mpg))+
            geom_point() +
            facet_wrap(~cyl)
    
    

    在你的情况下你会facet_wrap(~school),但它会产生大量的情节。

    【讨论】:

      【解决方案2】:

      首先,我想你写 chrt_grad 的地方和 year 一样,还是你有另一个变量? 无论如何,这不是重点。 如您所知,+facet 可以绘制多个图,但据我所知不能单独绘制。 我有类似的情况,我会做的,至少它对我有用,是:

      1. 传播(如果你知道收集/传播)变量学校
      2. For 循环绘制每一列。

      我现在不在家,如果你需要的话,我可以给代码发短信。

      最近我看到了一些使用nest_by 的新dplyr tidyverse 代码。非常有趣,虽然我还没有尝试过。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-08-19
        • 1970-01-01
        • 2019-08-24
        • 2017-10-23
        • 2014-11-03
        • 1970-01-01
        • 2020-07-03
        • 2013-02-02
        相关资源
        最近更新 更多