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

如何修改R中stl分解autoplot的分面标签与分面位置?

解决STL分解绘图的两个问题

修改“数据”分面标签为西班牙语

autoplot.stl的labels参数仅支持修改后三个面板(季节性、趋势、随机)的名称,要修改第一个“数据”面板的标签,我们可以直接调整绘图对象的因子水平:

将分面条移至顶部

通过在theme中设置strip.placement = "top"即可实现分面条位置的调整。

以下是修改后的完整代码:

d_stl <- stl(ts_prom_mensual, s.window = "periodic", robust = TRUE)

# 生成基础绘图对象
p <- autoplot(d_stl, labels = c("Estacionalidad", "Tendencia", "Aleatoreidad"))+
  ggtitle("Descomposición stl de serie temporal de los datos generados por el
 mareografo ubicado en la zona de ______ con regularidad mensual
  durante el periodo coomprendido entre ____ y ________")+
  theme_bw()+
  theme(title = element_text(family = 'serif', size = 12, face = 'bold', hjust = 0.5, vjust = 0.5),
        axis.text = element_text(family = 'serif', size = 10),
        axis.title.x = element_text(face = "plain", size = 12),
        axis.title.y = element_text(face = "plain", size = 12),
        strip.background = element_rect(fill = 'white'),
        strip.text = element_text(family = 'serif'),
        # 把分面条移到顶部
        strip.placement = "top"
        )+
  labs(x="Año", y= "Componentes")+
  geom_line(colour = "seagreen")

# 修改第一个分面的标签为西班牙语
p$data$variable <- factor(p$data$variable, 
                          levels = levels(p$data$variable),
                          labels = c("Observaciones", "Estacionalidad", "Tendencia", "Aleatoreidad"))

# 输出最终绘图
print(p)

代码说明

  1. 先将autoplot的结果存入变量p,便于后续修改绘图数据
  2. 直接修改p$data$variable的因子标签,把原“数据”对应的水平替换为Observaciones
  3. 在theme中添加strip.placement = "top",让分面条显示在面板顶部而非侧面

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 10:54:58