如何将具有相同功能的不同数据集的facet_grid组合成一个图?

时间:2016-08-14 15:10:25

标签: r ggplot2

我有两个相同的数据集,包括一个表示日期的变量,两个分类变量和工资:

data("EmplUK", package="plm")
df<- head(EmplUK, 50)


ggplot(df, aes(x=year, y=wage, colour=sector)) + 
  stat_summary(fun.y=mean, geom="line", size=2) +
  stat_summary(fun.ymin=min, fun.ymax=max, geom="errorbar") +
  facet_grid(sector~firm)+theme_bw()

enter image description here

第二个数据集只与工资有所不同:

df1<- head(EmplUK, 50)
df1$wage<- df1$wage +10

ggplot(df1, aes(x=year, y=wage, colour=sector)) + 
  stat_summary(fun.y=mean, geom="line", size=2) +
  stat_summary(fun.ymin=min, fun.ymax=max, geom="errorbar") +
  facet_grid(sector~firm)+theme_bw()

enter image description here

我想将它们组合成一个图形,每个网格有两个时间序列而不是一个,而右边的“扇区”,蓝色范围从8到3,我有一个指标这两个数据集如“数据集”与df1和df。

1 个答案:

答案 0 :(得分:1)

这样的东西?

library(ggplot2)
    data("EmplUK", package="plm")
    df<- head(EmplUK, 50)
    df1<- head(EmplUK, 50)
    df1$wage<- df1$wage +10
    df$source <- rep("df", 50) 
    df1$source <- rep("df1", 50) 
    dfAggregate <- rbind(df, df1)
    dfAggregate$source <- as.factor(dfAggregate$source)

    ggplot(dfAggregate, aes(x=year, y=wage, colour=source)) + 
            stat_summary(fun.y=mean, geom="line", size=2) +
            stat_summary(fun.ymin=min, fun.ymax=max, geom="errorbar") +
            facet_grid(sector~firm)+theme_bw()