【问题标题】:include plot of all data within each facet_wrap包括每个 facet_wrap 中所有数据的绘图
【发布时间】:2019-04-30 11:52:03
【问题描述】:

数据框(借自here):

df.test <- data.frame(id = rep(1:6, each = 50), x = rnorm(50*6, mean = 10, sd = 5), 
                 y = rnorm(50*6, mean = 20, sd = 10), 
                 z = rnorm(50*6, mean = 30, sd = 15))

剧情:

library(ggplot2)
ggplot(df.test, aes(x)) + geom_histogram() + facet_wrap(~id)

请求帮助: 我想将整个数据的直方图叠加到每个方面,以提供每个方面与总数据集的即时比较,如果可能的话,我希望整个数据集显示为 freq_poly():

ggplot(df.test, aes(x)) + geom_freqpoly()

【问题讨论】:

    标签: r ggplot2 facet-wrap


    【解决方案1】:

    您可以从对geom_freqpoly的调用中排除构面变量

    ggplot(df.test, aes(x)) + geom_histogram() + facet_wrap(~id) +
      geom_freqpoly(data = df.test[, "x", drop = FALSE], col = "red")
    

    【讨论】:

      【解决方案2】:

      以下只是将geom_freqpoly的数据中的id列去掉。

      ggplot(df.test, aes(x)) + geom_histogram() + facet_wrap(~id) + 
        geom_freqpoly(data=df.test[-1])
      

      这使它出现在所有方面:

      【讨论】:

      • 奇怪的是,虽然此代码与测试数据集完美配合,但在将其应用于我的数据集时,geom_freqpoly 并未包含完整数据集,而是包含方面,而 @markus 的代码做了。
      猜你喜欢
      • 2022-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多