【问题标题】:Drawing polygons from a Zoo time series using ggplot2使用 ggplot2 从 Zoo 时间序列中绘制多边形
【发布时间】:2015-11-05 16:02:17
【问题描述】:

我有一个带有置信带的动物园降雨预测时间序列,我想使用ggplot2 绘制它们

my.zoo.ts = zoo(matrix(c(0.000000, 5.569306, 7.302467, 0.000000, 0.000000, 5.964339, 8.000200, 
                     0.000000, 0.000000, 5.174273, 6.604734, 0.000000, 0.000000, 5.705250,
                     7.542581, 0.000000, 0.000000, 5.433362, 7.062354, 0.000000),nrow=4),
            c("2012-07-05 19:00:00 BST", "2012-07-05 19:30:00 BST", 
              "2012-07-05 20:00:00 BST", "2012-07-05 20:30:00 BST"))

colnames(my.zoo.ts) = c("pred","CI95up","CI95low","CI50up","CI50low")

我使用基本的plot 函数和polygon 制作了以下图

但我完全切换到ggplot2 并想要制作类似的东西。我尝试了以下

autoplot(my.zoo.ts, facet = NULL)

这给了

但我不知道如何从这里开始,因为我是 ggplot2 的新手。任何帮助表示赞赏。谢谢

【问题讨论】:

    标签: r ggplot2 polygon zoo


    【解决方案1】:

    首先,我将使用dplyr 将其设为标准数据框:

    library(dplyr)
    z <- my.zoo.ts %>% as.data.frame %>%
                       add_rownames("date")
    

    现在我们可以绘图了,使用geom_ribbon:

    ggplot(z, aes(x=date, y=pred, group = 1)) +
        geom_line() +
        geom_ribbon(aes(ymax = CI50up, ymin = CI50low), fill = 1, alpha = 0.2) +
        geom_ribbon(aes(ymax = CI95up, ymin = CI95low), fill = 2, alpha = 0.2)
    

    您可以使用填充来更改颜色,使用 alpha 来更改透明度。

    【讨论】:

    • 非常感谢。我使用fortify {ggplot2} 而不是dplyrmy.zoo.ts 转换为数据框
    猜你喜欢
    • 2018-07-05
    • 2020-04-26
    • 2014-04-13
    • 2013-01-30
    • 2017-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多