You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何复现FPP3第7章多变量时间序列分面季度分组绘图?

FPP3第7章图7.4复现方案

你之前的代码存在两处核心偏差:一是选择了多余的变量,二是默认分面y轴范围统一,无法适配不同指标的数值区间。以下是可直接运行的实现代码:

# 加载依赖包
library(tidyverse)
library(fpp3)

# 基础复现代码
us_change %>%
  # 筛选原图用到的3个目标变量
  select(Quarter, Production, Savings, Unemployment) %>%
  # 转换为长表适配ggplot分面逻辑
  pivot_longer(cols = -Quarter, names_to = "指标", values_to = "变动值") %>%
  ggplot(aes(x = Quarter, y = 变动值)) +
  geom_line(linewidth = 0.4) +
  # 单列排列子图,每个子图y轴独立适配数值范围
  facet_wrap(~指标, nrow = 3, scales = "free_y") +
  labs(x = "季度", y = "") +
  # 适配商务展示的简洁主题
  theme_bw() +
  theme(
    strip.background = element_rect(fill = "white", color = "black"),
    strip.text = element_text(hjust = 0, size = 10)
  )

如果需要完全匹配原书的中文指标命名,可以增加标签映射步骤:

us_change %>%
  select(Quarter, Production, Savings, Unemployment) %>%
  pivot_longer(cols = -Quarter, names_to = "指标", values_to = "变动值") %>%
  # 替换为中文指标名
  mutate(
    指标 = case_match(
      指标,
      "Production" ~ "工业生产季度变动百分比",
      "Savings" ~ "个人储蓄季度变动百分比",
      "Unemployment" ~ "失业率季度变动"
    )
  ) %>%
  ggplot(aes(x = Quarter, y = 变动值)) +
  geom_line(linewidth = 0.4) +
  facet_wrap(~指标, nrow = 3, scales = "free_y") +
  labs(x = "季度", y = "") +
  theme_bw() +
  theme(
    strip.background = element_rect(fill = "white", color = "black"),
    strip.text = element_text(hjust = 0, size = 10)
  )

内容的提问来源于stack exchange,提问作者Russ Conte

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 17:48:03