如何在时间序列数据上创建 facet_grid?

How to create facet_grid on timeseries data?

我有这样的数据集:

我想显示趋势,x 轴包含年份值,y 轴包含列中的相应值,所以也许

 ggplot(data,aes(year,bm))

我不仅想绘制一列,还想绘制更多列。在一个情节中,它似乎过于详细,我想利用 facet_grid 将情节很好地并排排列。但是它对我的数据不起作用,因为我认为我没有 'real' 对象可以比较。 有谁知道我如何实现 facet_grid 所以它就像这样(在可能的情况下 p1=BM 和 p2=BMSW):

问题出在您的数据格式上。这是一个带有一些假数据的例子

library(tidyverse)

##Create some fake data
set.seed(3)
data <- tibble(
    year = 1991:2020,
    bm = rnorm(30),
    bmsw = rnorm(30),
    bmi = rnorm(30),
    bmandinno = rnorm(30),
    bmproc = rnorm(30),
    bmart = rnorm(30)
)

##Gather the variables to create a long dataset
new_data <- data %>%
    gather(model, value, -year)

##plot the data
ggplot(new_data, aes(x = year, y = value)) + 
    geom_point() + 
    geom_smooth(method = "lm", se = FALSE) + 
    facet_grid(~model)