Skip to content
Vega-Lite templates

Time-Series Decomposition

Original / trend / seasonal / residual stacked panels.

Template previewVega-Lite
Rendering…

Make it your own.

{
  "$schema":"https://vega.github.io/schema/vega-lite/v5.json",
  "data":{"values":[
    {"t":1,"v":100,"k":"observed"},{"t":2,"v":108,"k":"observed"},{"t":3,"v":118,"k":"observed"},{"t":4,"v":104,"k":"observed"},{"t":5,"v":112,"k":"observed"},{"t":6,"v":120,"k":"observed"},
    {"t":1,"v":102,"k":"trend"},{"t":2,"v":106,"k":"trend"},{"t":3,"v":110,"k":"trend"},{"t":4,"v":114,"k":"trend"},{"t":5,"v":118,"k":"trend"},{"t":6,"v":122,"k":"trend"},
    {"t":1,"v":-2,"k":"seasonal"},{"t":2,"v":3,"k":"seasonal"},{"t":3,"v":7,"k":"seasonal"},{"t":4,"v":-10,"k":"seasonal"},{"t":5,"v":-6,"k":"seasonal"},{"t":6,"v":-2,"k":"seasonal"},
    {"t":1,"v":0,"k":"residual"},{"t":2,"v":-1,"k":"residual"},{"t":3,"v":1,"k":"residual"},{"t":4,"v":0,"k":"residual"},{"t":5,"v":0,"k":"residual"},{"t":6,"v":0,"k":"residual"}
  ]},
  "mark":{"type":"line","point":true},
  "encoding":{
    "x":{"field":"t","type":"quantitative","title":"Time"},
    "y":{"field":"v","type":"quantitative"},
    "row":{"field":"k","type":"nominal","sort":["observed","trend","seasonal","residual"]},
    "color":{"field":"k","type":"nominal","legend":null}
  },
  "width":420,"height":80,"resolve":{"scale":{"y":"independent"}}
}