如何修改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)
代码说明
- 先将
autoplot的结果存入变量p,便于后续修改绘图数据 - 直接修改
p$data$variable的因子标签,把原“数据”对应的水平替换为Observaciones - 在
theme中添加strip.placement = "top",让分面条显示在面板顶部而非侧面
内容的提问来源于stack exchange,提问作者kharsy62
相关产品推荐
相关产品推荐

