r - 在网格中绘制一组模拟时间序列
问题描述
我想在网格排列中绘制以下一组时间序列。
set.seed(289805)
sd1_AR0.8 <- arima.sim(n = 10, model = list(ar = 0.8, order = c(1, 0, 0)), sd = 1)
set.seed(671086)
sd1_AR0.9 <- arima.sim(n = 10, model = list(ar = 0.9, order = c(1, 0, 0)), sd = 1)
set.seed(799837)
sd1_AR0.95 <- arima.sim(n = 10, model = list(ar = 0.95, order = c(1, 0, 0)), sd = 1)
set.seed(289805)
sd3_AR0.8 <- arima.sim(n = 10, model = list(ar = 0.8, order = c(1, 0, 0)), sd = 3)
set.seed(671086)
sd3_AR0.9 <- arima.sim(n = 10, model = list(ar = 0.9, order = c(1, 0, 0)), sd = 3)
set.seed(799837)
sd3_AR0.95 <- arima.sim(n = 10, model = list(ar = 0.95, order = c(1, 0, 0)), sd = 3)
set.seed(289805)
sd5_AR0.8 <- arima.sim(n = 10, model = list(ar = 0.8, order = c(1, 0, 0)), sd = 5)
set.seed(671086)
sd5_AR0.9 <- arima.sim(n = 10, model = list(ar = 0.9, order = c(1, 0, 0)), sd = 5)
set.seed(799837)
sd5_AR0.95 <- arima.sim(n = 10, model = list(ar = 0.95, order = c(1, 0, 0)), sd = 5)
set.seed(289805)
sd10_AR0.8 <- arima.sim(n = 10, model = list(ar = 0.8, order = c(1, 0, 0)), sd = 10)
set.seed(671086)
sd10_AR0.9 <- arima.sim(n = 10, model = list(ar = 0.9, order = c(1, 0, 0)), sd = 10)
set.seed(799837)
sd10_AR0.95 <- arima.sim(n = 10, model = list(ar = 0.95, order = c(1, 0, 0)), sd = 10)
上面的 R 代码模拟AR
了具有三个级别($\phi = 0.8、0.9、0.95$)和standard deviation
四个级别(sd = 1、3、5、10)的不同 $\phi$ 值的时间序列。
我希望网格是3 by 4
这样的,即前三 (3) 组系列在三 (3) 列的一行中运行。
set.seed(289805)
sd1_AR0.8 <- arima.sim(n = 10, model = list(ar = 0.8, order = c(1, 0, 0)), sd = 1)
library(ggplot2)
p <- ggplot(NULL, aes(y = sd1_AR0.8, x = seq_along(sd1_AR0.8)))
p + geom_line(color = "#F2AA4CFF") + geom_point(color = "#101820FF") + xlab('Time') + ylab('Value') + scale_y_continuous(expand = c(0,0))
解决方案
拼凑救援。阅读小插曲以调整标题、创建 1 个标题、组合图例等。
library(patchwork)
p1 <- ggplot(NULL, aes(y = sd1_AR0.8, x = seq_along(sd1_AR0.8))) +
geom_line(color = "#F2AA4CFF") + geom_point(color = "#101820FF") + xlab('Time') + ylab('Value') + scale_y_continuous(expand = c(0,0))
p2 <- ggplot(NULL, aes(y = sd1_AR0.8, x = seq_along(sd1_AR0.9))) +
geom_line(color = "#F2AA4CFF") + geom_point(color = "#101820FF") + xlab('Time') + ylab('Value') + scale_y_continuous(expand = c(0,0))
p3 <- ggplot(NULL, aes(y = sd1_AR0.8, x = seq_along(sd1_AR0.95))) +
geom_line(color = "#F2AA4CFF") + geom_point(color = "#101820FF") + xlab('Time') + ylab('Value') + scale_y_continuous(expand = c(0,0))
p4 <- ggplot(NULL, aes(y = sd3_AR0.8, x = seq_along(sd3_AR0.8))) +
geom_line(color = "#F2AA4CFF") + geom_point(color = "#101820FF") + xlab('Time') + ylab('Value') + scale_y_continuous(expand = c(0,0))
p5 <- ggplot(NULL, aes(y = sd3_AR0.9, x = seq_along(sd3_AR0.9))) +
geom_line(color = "#F2AA4CFF") + geom_point(color = "#101820FF") + xlab('Time') + ylab('Value') + scale_y_continuous(expand = c(0,0))
p6 <- ggplot(NULL, aes(y = sd3_AR0.95, x = seq_along(sd3_AR0.95))) +
geom_line(color = "#F2AA4CFF") + geom_point(color = "#101820FF") + xlab('Time') + ylab('Value') + scale_y_continuous(expand = c(0,0))
p7 <- ggplot(NULL, aes(y = sd5_AR0.8, x = seq_along(sd5_AR0.8))) +
geom_line(color = "#F2AA4CFF") + geom_point(color = "#101820FF") + xlab('Time') + ylab('Value') + scale_y_continuous(expand = c(0,0))
p8 <- ggplot(NULL, aes(y = sd5_AR0.9, x = seq_along(sd5_AR0.9))) +
geom_line(color = "#F2AA4CFF") + geom_point(color = "#101820FF") + xlab('Time') + ylab('Value') + scale_y_continuous(expand = c(0,0))
p9 <- ggplot(NULL, aes(y = sd5_AR0.95, x = seq_along(sd5_AR0.95))) +
geom_line(color = "#F2AA4CFF") + geom_point(color = "#101820FF") + xlab('Time') + ylab('Value') + scale_y_continuous(expand = c(0,0))
p10 <- ggplot(NULL, aes(y = sd10_AR0.8, x = seq_along(sd10_AR0.8))) +
geom_line(color = "#F2AA4CFF") + geom_point(color = "#101820FF") + xlab('Time') + ylab('Value') + scale_y_continuous(expand = c(0,0))
p11 <- ggplot(NULL, aes(y = sd10_AR0.9, x = seq_along(sd10_AR0.9))) +
geom_line(color = "#F2AA4CFF") + geom_point(color = "#101820FF") + xlab('Time') + ylab('Value') + scale_y_continuous(expand = c(0,0))
p12 <- ggplot(NULL, aes(y = sd10_AR0.95, x = seq_along(sd10_AR0.95))) +
geom_line(color = "#F2AA4CFF") + geom_point(color = "#101820FF") + xlab('Time') + ylab('Value') + scale_y_continuous(expand = c(0,0))
# plot in a 3 by 4 grid by using plot_layout
p1 + p2 + p3 + p4 + p5 + p6 + p7 + p8 + p9 + p10 + p11 + p12 + plot_layout(ncol = 3)
推荐阅读
- java - java - 如何将sql查询附加到java中的现有文件?
- webpack - Wepback 和前端 monorepo
- python-3.x - 如何在 python 中拆分“21-13,20-21”-> [[21,13],[20,21]]?
- java - Swagger 引用一个 Spring 对象的响应,使用 Swagger 进行分页
- python - 如何在 python 函数 save_single_frameset 中使用 Realsense
- c# - 当自己的 ErrorHandler 事件发生时如何添加一些事情?
- r - 在 `...` 中为 R 函数设置名称
- python - Pycharm 仍在为排除的文件夹编制索引,这需要很长时间
- sql - 从 Django 传递可选列表参数以在原始 SQL 中过滤
- javascript - 使用 If 和 Else 更改分数