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.
DefaultRendered example
ThemeRiver-SingleAxis-Time
Six named streams across aligned daily values from 8–28 November 2015.Exact stream values
Date
Stream
Value
Class
2015/11/08
DQ
10
stream-dq
2015/11/09
DQ
15
stream-dq
2015/11/10
DQ
35
stream-dq
2015/11/11
DQ
38
stream-dq
2015/11/12
DQ
22
stream-dq
2015/11/13
DQ
16
stream-dq
2015/11/14
DQ
7
stream-dq
2015/11/15
DQ
2
stream-dq
2015/11/16
DQ
17
stream-dq
2015/11/17
DQ
33
stream-dq
2015/11/18
DQ
40
stream-dq
2015/11/19
DQ
32
stream-dq
2015/11/20
DQ
26
stream-dq
2015/11/21
DQ
35
stream-dq
2015/11/22
DQ
40
stream-dq
2015/11/23
DQ
32
stream-dq
2015/11/24
DQ
26
stream-dq
2015/11/25
DQ
22
stream-dq
2015/11/26
DQ
16
stream-dq
2015/11/27
DQ
22
stream-dq
2015/11/28
DQ
10
stream-dq
2015/11/08
TY
35
stream-ty
2015/11/09
TY
36
stream-ty
2015/11/10
TY
37
stream-ty
2015/11/11
TY
22
stream-ty
2015/11/12
TY
24
stream-ty
2015/11/13
TY
26
stream-ty
2015/11/14
TY
34
stream-ty
2015/11/15
TY
21
stream-ty
2015/11/16
TY
18
stream-ty
2015/11/17
TY
45
stream-ty
2015/11/18
TY
32
stream-ty
2015/11/19
TY
35
stream-ty
2015/11/20
TY
30
stream-ty
2015/11/21
TY
28
stream-ty
2015/11/22
TY
27
stream-ty
2015/11/23
TY
26
stream-ty
2015/11/24
TY
15
stream-ty
2015/11/25
TY
30
stream-ty
2015/11/26
TY
35
stream-ty
2015/11/27
TY
42
stream-ty
2015/11/28
TY
42
stream-ty
2015/11/08
SS
21
stream-ss
2015/11/09
SS
25
stream-ss
2015/11/10
SS
27
stream-ss
2015/11/11
SS
23
stream-ss
2015/11/12
SS
24
stream-ss
2015/11/13
SS
21
stream-ss
2015/11/14
SS
35
stream-ss
2015/11/15
SS
39
stream-ss
2015/11/16
SS
40
stream-ss
2015/11/17
SS
36
stream-ss
2015/11/18
SS
33
stream-ss
2015/11/19
SS
43
stream-ss
2015/11/20
SS
40
stream-ss
2015/11/21
SS
34
stream-ss
2015/11/22
SS
28
stream-ss
2015/11/23
SS
26
stream-ss
2015/11/24
SS
37
stream-ss
2015/11/25
SS
41
stream-ss
2015/11/26
SS
46
stream-ss
2015/11/27
SS
47
stream-ss
2015/11/28
SS
41
stream-ss
2015/11/08
QG
10
stream-qg
2015/11/09
QG
15
stream-qg
2015/11/10
QG
35
stream-qg
2015/11/11
QG
38
stream-qg
2015/11/12
QG
22
stream-qg
2015/11/13
QG
16
stream-qg
2015/11/14
QG
7
stream-qg
2015/11/15
QG
2
stream-qg
2015/11/16
QG
17
stream-qg
2015/11/17
QG
33
stream-qg
2015/11/18
QG
40
stream-qg
2015/11/19
QG
32
stream-qg
2015/11/20
QG
26
stream-qg
2015/11/21
QG
35
stream-qg
2015/11/22
QG
40
stream-qg
2015/11/23
QG
32
stream-qg
2015/11/24
QG
26
stream-qg
2015/11/25
QG
22
stream-qg
2015/11/26
QG
16
stream-qg
2015/11/27
QG
22
stream-qg
2015/11/28
QG
10
stream-qg
2015/11/08
SY
10
stream-sy
2015/11/09
SY
15
stream-sy
2015/11/10
SY
35
stream-sy
2015/11/11
SY
38
stream-sy
2015/11/12
SY
22
stream-sy
2015/11/13
SY
16
stream-sy
2015/11/14
SY
7
stream-sy
2015/11/15
SY
2
stream-sy
2015/11/16
SY
17
stream-sy
2015/11/17
SY
33
stream-sy
2015/11/18
SY
40
stream-sy
2015/11/19
SY
32
stream-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.
Goshtoso can store preferences and demo state in your browser. Some examples use cookies and IndexedDB to persist local demo state. There is no analytics, advertising, or third-party tracking. You can use the site without storage, but preferences and some examples will reset or stop persisting. Details in our Privacy Policy.