首页 > 解决方案 > 如何绘制历史数据和未来预测,以及预测的错误阴影

问题描述

我正在尝试绘制所有 50 个州的历史数据,包括对未来的预测,并在预测值周围加上错误阴影。我不知道如何让 ggplot2 添加阴影。这就是我想要的:[使用时间序列的海德曼预测图表]。1

但是,我无法将我的数据转换为时间序列对象,当然因为我是一个新手,并且可能与对历史和预测值的 50 次观察有关。所以我一直在尝试一种变通方法来降低我的历史+预计值,然后在预计值周围添加一个错误功能区(每个州的错误都不同,每个州的每个预计值都不同。)

这是我的数据示例:

    #   State   Year    Value   Color 
    1   Alabama 1977    -3.27   Purple
    2   Alabama 1981    5.12    Blue
    3   Alabama 1985    1.27    Purple
    4   Alabama 1989    -3.97   Purple
    5   Alabama 1993    -6.56   Red
    6   Alabama 1997    -7.87   Red
    7   Alabama 2001    -8.16   Red
    8   Alabama 2005    -9.75   Red
    9   Alabama 2009    -13.12  Red
    10  Alabama 2013    -13.88  Red
    11  Alabama 2017    -14.33  Red
    12  Alabama X2022_pred  -17.00  Red
    13  Alabama X2022_pred_low  -26.29  Red
    14  Alabama X2022_pred_hi   -7.72   Red
    15  Alabama X2026_pred  -21.99  Red
    16  Alabama X2026_pred_low  -31.31  Red
    17  Alabama X2026_pred_hi   -12.68  Red

以及我用来绘制历史点值和预计点值的代码:

ggplot(pvi_and_arimapreds[pvi_and_arimapreds$Year%in%c("1977", "1981", "1985", "1989", "1993", "1997", "2001", "2005", "2009", "2013", "2017","X2022_pred","X2026_pred"),],aes(x=Year,y=PVI,group=State,color=Color))+geom_line()+geom_point() + theme(axis.text.x = element_text(angle = 90))+facet_wrap_paginate(vars(State),ncol=5,nrow=5,page=2,scales="free_y",shrink=FALSE)+scale_color_identity()+ labs(title = "Past and Projected PVI by State",subtitle = "(ETS model,scales=free_y,shrink=FALSE)",caption = "Data source: CPA Office of Analysis & Planning calculations of projected values based on publicly-available data.")+ scale_x_discrete(breaks=c("1977", "1985", "1993", "2001", "2009", "2017", "2025"),labels=c("1977 (Carter)", "1985 (Reagan 2nd)", "1993 (Clinton)", "2001 (Bush)", "2009 (Obama)", "2017 (Trump)", "2025"))

因此,接下来是在 X2022_pred 和 X2026_pred 周围添加错误阴影。但我不知道怎么做。

任何帮助都将受到欢迎和赞赏!(我的方法或不同的方法。)

谢谢!

标签: rggplot2

解决方案


推荐阅读