Skip to content
commit-766c8d6756a1

Interactive theme river

How named categories rise, fall, and overlap across aligned dates.

Purpose
Compare how named temporal streams rise, fall, and overlap.
Use when
Shared movement and temporal pattern matter more than a single exact value.
Avoid when
Precise values, many streams, or a stable baseline is required.
Equivalent data
An adjacent table preserves dates, stream names, exact values, and classes.
Exact stream values
DateStreamValueClass
2015/11/08DQ10stream-dq
2015/11/09DQ15stream-dq
2015/11/10DQ35stream-dq
2015/11/11DQ38stream-dq
2015/11/12DQ22stream-dq
2015/11/13DQ16stream-dq
2015/11/14DQ7stream-dq
2015/11/15DQ2stream-dq
2015/11/16DQ17stream-dq
2015/11/17DQ33stream-dq
2015/11/18DQ40stream-dq
2015/11/19DQ32stream-dq
2015/11/20DQ26stream-dq
2015/11/21DQ35stream-dq
2015/11/22DQ40stream-dq
2015/11/23DQ32stream-dq
2015/11/24DQ26stream-dq
2015/11/25DQ22stream-dq
2015/11/26DQ16stream-dq
2015/11/27DQ22stream-dq
2015/11/28DQ10stream-dq
2015/11/08TY35stream-ty
2015/11/09TY36stream-ty
2015/11/10TY37stream-ty
2015/11/11TY22stream-ty
2015/11/12TY24stream-ty
2015/11/13TY26stream-ty
2015/11/14TY34stream-ty
2015/11/15TY21stream-ty
2015/11/16TY18stream-ty
2015/11/17TY45stream-ty
2015/11/18TY32stream-ty
2015/11/19TY35stream-ty
2015/11/20TY30stream-ty
2015/11/21TY28stream-ty
2015/11/22TY27stream-ty
2015/11/23TY26stream-ty
2015/11/24TY15stream-ty
2015/11/25TY30stream-ty
2015/11/26TY35stream-ty
2015/11/27TY42stream-ty
2015/11/28TY42stream-ty
2015/11/08SS21stream-ss
2015/11/09SS25stream-ss
2015/11/10SS27stream-ss
2015/11/11SS23stream-ss
2015/11/12SS24stream-ss
2015/11/13SS21stream-ss
2015/11/14SS35stream-ss
2015/11/15SS39stream-ss
2015/11/16SS40stream-ss
2015/11/17SS36stream-ss
2015/11/18SS33stream-ss
2015/11/19SS43stream-ss
2015/11/20SS40stream-ss
2015/11/21SS34stream-ss
2015/11/22SS28stream-ss
2015/11/23SS26stream-ss
2015/11/24SS37stream-ss
2015/11/25SS41stream-ss
2015/11/26SS46stream-ss
2015/11/27SS47stream-ss
2015/11/28SS41stream-ss
2015/11/08QG10stream-qg
2015/11/09QG15stream-qg
2015/11/10QG35stream-qg
2015/11/11QG38stream-qg
2015/11/12QG22stream-qg
2015/11/13QG16stream-qg
2015/11/14QG7stream-qg
2015/11/15QG2stream-qg
2015/11/16QG17stream-qg
2015/11/17QG33stream-qg
2015/11/18QG40stream-qg
2015/11/19QG32stream-qg
2015/11/20QG26stream-qg
2015/11/21QG35stream-qg
2015/11/22QG40stream-qg
2015/11/23QG32stream-qg
2015/11/24QG26stream-qg
2015/11/25QG22stream-qg
2015/11/26QG16stream-qg
2015/11/27QG22stream-qg
2015/11/28QG10stream-qg
2015/11/08SY10stream-sy
2015/11/09SY15stream-sy
2015/11/10SY35stream-sy
2015/11/11SY38stream-sy
2015/11/12SY22stream-sy
2015/11/13SY16stream-sy
2015/11/14SY7stream-sy
2015/11/15SY2stream-sy
2015/11/16SY17stream-sy
2015/11/17SY33stream-sy
2015/11/18SY40stream-sy
2015/11/19SY32stream-sy

30 additional values omitted from this bounded representation.

Usage Example
@interactivethemeriver.ThemeRiver(interactivethemeriver.Config{
  Label: "ThemeRiver-SingleAxis-Time",
  Caption: "Six named streams across aligned daily values.",
  Streams: []interactivethemeriver.Stream{
    {Name: "DQ", Class: "stream-dq", Points: []interactivethemeriver.Point{
      {Time: time.Date(2015, time.November, 8, 0, 0, 0, 0, time.UTC), Value: 10},
      {Time: time.Date(2015, time.November, 9, 0, 0, 0, 0, time.UTC), Value: 15},
      // Remaining aligned dates continue through 28 November.
    }},
    // TY, SS, QG, SY, and DD use the same aligned dates.
  },
  Layout: interactivethemeriver.Layout{BottomPercent: chart.Float(10)},
  Width: "100%", Height: "500px",
  Options: chart.ChartOptions{
    Title: &chart.TitleOptions{Text: "ThemeRiver-SingleAxis-Time"},
    Tooltip: &chart.TooltipOptions{Show: chart.Bool(true), Trigger: "axis"},
  },
})

Shared dates

Compare streams only over shared, strictly ordered dates. Use the table for exact readings.

Go API

v0.0.1

The examples above cover behavior and composition. pkg.go.dev is the canonical reference for exported types, functions, methods, and Go documentation.

github.com/araihu/goshtoso-charts/components/interactive/themeriver

Enabled, disabled, hidden, and omitted wrapper behavior, controls, export, and client transitions are shared by every chart. Review chart controls, then compare static/vector and interactive capabilities.

Open v0.0.1 API