gpt4 book ai didi

r - 时间序列图矩阵

转载 作者:行者123 更新时间:2023-12-04 02:13:04 28 4
gpt4 key购买 nike

我有一个与 R 一致的问题:我试图在 R 中使用包 ggplot2ggfortify 将一组每日时间序列商品数据绘制成矩阵。我试图在每个 y 轴上使用标准化值,在 x 轴上使用日期 1/1/2007、1/1/2008...。视觉概念应如下所示:

enter image description here

有人知道它是如何工作的吗?

最佳答案

zoo 包为具有灵活时间索引的时间序列提供支持,例如,包括 Date。该包还带来了一个 fortify() 方法,可用于 ggplot2 图形。还提供了 autoplot() 的便捷方法,请参阅 ?autoplot.zoo 以选择具有不同布局的工作示例。

以 3 x 6 布局中具有 Date 索引的 18 个时间序列为例,我使用数据集 FXRatesCHF 的一个子集,来自 fxregime。这提供了不同货币相对于瑞士法郎 (CHF) 的汇率。

library("zoo")
data("FXRatesCHF", package = "fxregime")
FX <- window(FXRatesCHF[, c(1:4, 6:19)], start = as.Date("2000-01-01"))

然后 ggplot() 可以应用于 fortify() 方法的输出:

library("ggplot2")
ggplot(aes(x = Index, y = Value), data = fortify(FX, melt = TRUE)) +
geom_line(color = "darkred") +
xlab("Time") + ylab("FX") +
theme_bw() +
facet_wrap(~ Series, scales = "free_y", ncol = 6)

FX ggplot2

同样的布局也可以用基本图形轻松创建。只有面板标题位于 y 轴上,而不是灰色阴影的主标题:

plot(FX, col = "darkred", xlab = "Time", nc = 6,
panel = function(...) { grid(col = "lightgray"); lines(...) })

FX base graphics

最后,一个lattice版本可以被创建

library("lattice")
trellis.par.set(theme = standard.theme(color = FALSE))
xyplot(FX, col = "darkred", xlab = "Time", layout = c(6, 3),
panel = function(...) { panel.grid(col = "lightgray"); panel.lines(...) })

FX lattice

关于r - 时间序列图矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36634668/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com