Skip to content
commit-766c8d6756a1

Interactive bar 3D

Category-grid comparisons where height gives a compact overview of two intersecting dimensions.

Purpose
Compare values at intersections of two ordered categories with height.
Use when
A compact overview of a small category grid is useful.
Avoid when
Exact cell comparison or many categories matter; a heat map or table reads better.
Equivalent data
The adjacent disclosure lists every category pair and exact value.
Exact 3D bar values

168 cells across 1 series.

SeriesHourDayX indexY indexValueClass
bar3d12aSaturday005
bar3d1aSaturday101
bar3d2aSaturday200
bar3d3aSaturday300
bar3d4aSaturday400
bar3d5aSaturday500
bar3d6aSaturday600
bar3d7aSaturday700
bar3d8aSaturday800
bar3d9aSaturday900
bar3d10aSaturday1000
bar3d11aSaturday1102
bar3d12pSaturday1204
bar3d1pSaturday1301
bar3d2pSaturday1401
bar3d3pSaturday1503
bar3d4pSaturday1604
bar3d5pSaturday1706
bar3d6pSaturday1804
bar3d7pSaturday1904
bar3d8pSaturday2003
bar3d9pSaturday2103
bar3d10pSaturday2202
bar3d11pSaturday2305
bar3d12aFriday017
bar3d1aFriday110
bar3d2aFriday210
bar3d3aFriday310
bar3d4aFriday410
bar3d5aFriday510
bar3d6aFriday610
bar3d7aFriday710
bar3d8aFriday810
bar3d9aFriday910
bar3d10aFriday1015
bar3d11aFriday1112
bar3d12pFriday1212
bar3d1pFriday1316
bar3d2pFriday1419
bar3d3pFriday15111
bar3d4pFriday1616
bar3d5pFriday1717
bar3d6pFriday1818
bar3d7pFriday19112
bar3d8pFriday2015
bar3d9pFriday2115
bar3d10pFriday2217
bar3d11pFriday2312
bar3d12aThursday021
bar3d1aThursday121
bar3d2aThursday220
bar3d3aThursday320
bar3d4aThursday420
bar3d5aThursday520
bar3d6aThursday620
bar3d7aThursday720
bar3d8aThursday820
bar3d9aThursday920
bar3d10aThursday1023
bar3d11aThursday1122
bar3d12pThursday1221
bar3d1pThursday1329
bar3d2pThursday1428
bar3d3pThursday15210
bar3d4pThursday1626
bar3d5pThursday1725
bar3d6pThursday1825
bar3d7pThursday1925
bar3d8pThursday2027
bar3d9pThursday2124
bar3d10pThursday2222
bar3d11pThursday2324
bar3d12aWednesday037
bar3d1aWednesday133
bar3d2aWednesday230
bar3d3aWednesday330
bar3d4aWednesday430
bar3d5aWednesday530
bar3d6aWednesday630
bar3d7aWednesday730
bar3d8aWednesday831
bar3d9aWednesday930
bar3d10aWednesday1035
bar3d11aWednesday1134
bar3d12pWednesday1237
bar3d1pWednesday13314
bar3d2pWednesday14313
bar3d3pWednesday15312
bar3d4pWednesday1639
bar3d5pWednesday1735
bar3d6pWednesday1835
bar3d7pWednesday19310
bar3d8pWednesday2036
bar3d9pWednesday2134
bar3d10pWednesday2234
bar3d11pWednesday2331
bar3d12aTuesday041
bar3d1aTuesday143
bar3d2aTuesday240
bar3d3aTuesday340
bar3d4aTuesday440
bar3d5aTuesday541
bar3d6aTuesday640
bar3d7aTuesday740
bar3d8aTuesday840
bar3d9aTuesday942
bar3d10aTuesday1044
bar3d11aTuesday1144
bar3d12pTuesday1242
bar3d1pTuesday1344
bar3d2pTuesday1444
bar3d3pTuesday15414
bar3d4pTuesday16412
bar3d5pTuesday1741
bar3d6pTuesday1848
bar3d7pTuesday1945
bar3d8pTuesday2043
bar3d9pTuesday2147
bar3d10pTuesday2243
bar3d11pTuesday2340
bar3d12aMonday052
bar3d1aMonday151
bar3d2aMonday250
bar3d3aMonday353
bar3d4aMonday450
bar3d5aMonday550
bar3d6aMonday650
bar3d7aMonday750
bar3d8aMonday852
bar3d9aMonday950
bar3d10aMonday1054
bar3d11aMonday1151
bar3d12pMonday1255
bar3d1pMonday13510
bar3d2pMonday1455
bar3d3pMonday1557
bar3d4pMonday16511
bar3d5pMonday1756
bar3d6pMonday1850
bar3d7pMonday1955
bar3d8pMonday2053
bar3d9pMonday2154
bar3d10pMonday2252
bar3d11pMonday2350
bar3d12aSunday061
bar3d1aSunday160
bar3d2aSunday260
bar3d3aSunday360
bar3d4aSunday460
bar3d5aSunday560
bar3d6aSunday660
bar3d7aSunday760
bar3d8aSunday860
bar3d9aSunday960
bar3d10aSunday1061
bar3d11aSunday1160
bar3d12pSunday1262
bar3d1pSunday1361
bar3d2pSunday1463
bar3d3pSunday1564
bar3d4pSunday1660
bar3d5pSunday1760
bar3d6pSunday1860
bar3d7pSunday1960
bar3d8pSunday2061
bar3d9pSunday2162
bar3d10pSunday2262
bar3d11pSunday2366
Exact 3D bar values

168 cells across 1 series.

SeriesHourDayX indexY indexValueClass
bar3d12aSaturday005
bar3d1aSaturday101
bar3d2aSaturday200
bar3d3aSaturday300
bar3d4aSaturday400
bar3d5aSaturday500
bar3d6aSaturday600
bar3d7aSaturday700
bar3d8aSaturday800
bar3d9aSaturday900
bar3d10aSaturday1000
bar3d11aSaturday1102
bar3d12pSaturday1204
bar3d1pSaturday1301
bar3d2pSaturday1401
bar3d3pSaturday1503
bar3d4pSaturday1604
bar3d5pSaturday1706
bar3d6pSaturday1804
bar3d7pSaturday1904
bar3d8pSaturday2003
bar3d9pSaturday2103
bar3d10pSaturday2202
bar3d11pSaturday2305
bar3d12aFriday017
bar3d1aFriday110
bar3d2aFriday210
bar3d3aFriday310
bar3d4aFriday410
bar3d5aFriday510
bar3d6aFriday610
bar3d7aFriday710
bar3d8aFriday810
bar3d9aFriday910
bar3d10aFriday1015
bar3d11aFriday1112
bar3d12pFriday1212
bar3d1pFriday1316
bar3d2pFriday1419
bar3d3pFriday15111
bar3d4pFriday1616
bar3d5pFriday1717
bar3d6pFriday1818
bar3d7pFriday19112
bar3d8pFriday2015
bar3d9pFriday2115
bar3d10pFriday2217
bar3d11pFriday2312
bar3d12aThursday021
bar3d1aThursday121
bar3d2aThursday220
bar3d3aThursday320
bar3d4aThursday420
bar3d5aThursday520
bar3d6aThursday620
bar3d7aThursday720
bar3d8aThursday820
bar3d9aThursday920
bar3d10aThursday1023
bar3d11aThursday1122
bar3d12pThursday1221
bar3d1pThursday1329
bar3d2pThursday1428
bar3d3pThursday15210
bar3d4pThursday1626
bar3d5pThursday1725
bar3d6pThursday1825
bar3d7pThursday1925
bar3d8pThursday2027
bar3d9pThursday2124
bar3d10pThursday2222
bar3d11pThursday2324
bar3d12aWednesday037
bar3d1aWednesday133
bar3d2aWednesday230
bar3d3aWednesday330
bar3d4aWednesday430
bar3d5aWednesday530
bar3d6aWednesday630
bar3d7aWednesday730
bar3d8aWednesday831
bar3d9aWednesday930
bar3d10aWednesday1035
bar3d11aWednesday1134
bar3d12pWednesday1237
bar3d1pWednesday13314
bar3d2pWednesday14313
bar3d3pWednesday15312
bar3d4pWednesday1639
bar3d5pWednesday1735
bar3d6pWednesday1835
bar3d7pWednesday19310
bar3d8pWednesday2036
bar3d9pWednesday2134
bar3d10pWednesday2234
bar3d11pWednesday2331
bar3d12aTuesday041
bar3d1aTuesday143
bar3d2aTuesday240
bar3d3aTuesday340
bar3d4aTuesday440
bar3d5aTuesday541
bar3d6aTuesday640
bar3d7aTuesday740
bar3d8aTuesday840
bar3d9aTuesday942
bar3d10aTuesday1044
bar3d11aTuesday1144
bar3d12pTuesday1242
bar3d1pTuesday1344
bar3d2pTuesday1444
bar3d3pTuesday15414
bar3d4pTuesday16412
bar3d5pTuesday1741
bar3d6pTuesday1848
bar3d7pTuesday1945
bar3d8pTuesday2043
bar3d9pTuesday2147
bar3d10pTuesday2243
bar3d11pTuesday2340
bar3d12aMonday052
bar3d1aMonday151
bar3d2aMonday250
bar3d3aMonday353
bar3d4aMonday450
bar3d5aMonday550
bar3d6aMonday650
bar3d7aMonday750
bar3d8aMonday852
bar3d9aMonday950
bar3d10aMonday1054
bar3d11aMonday1151
bar3d12pMonday1255
bar3d1pMonday13510
bar3d2pMonday1455
bar3d3pMonday1557
bar3d4pMonday16511
bar3d5pMonday1756
bar3d6pMonday1850
bar3d7pMonday1955
bar3d8pMonday2053
bar3d9pMonday2154
bar3d10pMonday2252
bar3d11pMonday2350
bar3d12aSunday061
bar3d1aSunday160
bar3d2aSunday260
bar3d3aSunday360
bar3d4aSunday460
bar3d5aSunday560
bar3d6aSunday660
bar3d7aSunday760
bar3d8aSunday860
bar3d9aSunday960
bar3d10aSunday1061
bar3d11aSunday1160
bar3d12pSunday1262
bar3d1pSunday1361
bar3d2pSunday1463
bar3d3pSunday1564
bar3d4pSunday1660
bar3d5pSunday1760
bar3d6pSunday1860
bar3d7pSunday1960
bar3d8pSunday2061
bar3d9pSunday2162
bar3d10pSunday2262
bar3d11pSunday2366
Exact 3D bar values

168 cells across 1 series.

SeriesHourDayX indexY indexValueClass
bar3d12aSaturday005
bar3d1aSaturday101
bar3d2aSaturday200
bar3d3aSaturday300
bar3d4aSaturday400
bar3d5aSaturday500
bar3d6aSaturday600
bar3d7aSaturday700
bar3d8aSaturday800
bar3d9aSaturday900
bar3d10aSaturday1000
bar3d11aSaturday1102
bar3d12pSaturday1204
bar3d1pSaturday1301
bar3d2pSaturday1401
bar3d3pSaturday1503
bar3d4pSaturday1604
bar3d5pSaturday1706
bar3d6pSaturday1804
bar3d7pSaturday1904
bar3d8pSaturday2003
bar3d9pSaturday2103
bar3d10pSaturday2202
bar3d11pSaturday2305
bar3d12aFriday017
bar3d1aFriday110
bar3d2aFriday210
bar3d3aFriday310
bar3d4aFriday410
bar3d5aFriday510
bar3d6aFriday610
bar3d7aFriday710
bar3d8aFriday810
bar3d9aFriday910
bar3d10aFriday1015
bar3d11aFriday1112
bar3d12pFriday1212
bar3d1pFriday1316
bar3d2pFriday1419
bar3d3pFriday15111
bar3d4pFriday1616
bar3d5pFriday1717
bar3d6pFriday1818
bar3d7pFriday19112
bar3d8pFriday2015
bar3d9pFriday2115
bar3d10pFriday2217
bar3d11pFriday2312
bar3d12aThursday021
bar3d1aThursday121
bar3d2aThursday220
bar3d3aThursday320
bar3d4aThursday420
bar3d5aThursday520
bar3d6aThursday620
bar3d7aThursday720
bar3d8aThursday820
bar3d9aThursday920
bar3d10aThursday1023
bar3d11aThursday1122
bar3d12pThursday1221
bar3d1pThursday1329
bar3d2pThursday1428
bar3d3pThursday15210
bar3d4pThursday1626
bar3d5pThursday1725
bar3d6pThursday1825
bar3d7pThursday1925
bar3d8pThursday2027
bar3d9pThursday2124
bar3d10pThursday2222
bar3d11pThursday2324
bar3d12aWednesday037
bar3d1aWednesday133
bar3d2aWednesday230
bar3d3aWednesday330
bar3d4aWednesday430
bar3d5aWednesday530
bar3d6aWednesday630
bar3d7aWednesday730
bar3d8aWednesday831
bar3d9aWednesday930
bar3d10aWednesday1035
bar3d11aWednesday1134
bar3d12pWednesday1237
bar3d1pWednesday13314
bar3d2pWednesday14313
bar3d3pWednesday15312
bar3d4pWednesday1639
bar3d5pWednesday1735
bar3d6pWednesday1835
bar3d7pWednesday19310
bar3d8pWednesday2036
bar3d9pWednesday2134
bar3d10pWednesday2234
bar3d11pWednesday2331
bar3d12aTuesday041
bar3d1aTuesday143
bar3d2aTuesday240
bar3d3aTuesday340
bar3d4aTuesday440
bar3d5aTuesday541
bar3d6aTuesday640
bar3d7aTuesday740
bar3d8aTuesday840
bar3d9aTuesday942
bar3d10aTuesday1044
bar3d11aTuesday1144
bar3d12pTuesday1242
bar3d1pTuesday1344
bar3d2pTuesday1444
bar3d3pTuesday15414
bar3d4pTuesday16412
bar3d5pTuesday1741
bar3d6pTuesday1848
bar3d7pTuesday1945
bar3d8pTuesday2043
bar3d9pTuesday2147
bar3d10pTuesday2243
bar3d11pTuesday2340
bar3d12aMonday052
bar3d1aMonday151
bar3d2aMonday250
bar3d3aMonday353
bar3d4aMonday450
bar3d5aMonday550
bar3d6aMonday650
bar3d7aMonday750
bar3d8aMonday852
bar3d9aMonday950
bar3d10aMonday1054
bar3d11aMonday1151
bar3d12pMonday1255
bar3d1pMonday13510
bar3d2pMonday1455
bar3d3pMonday1557
bar3d4pMonday16511
bar3d5pMonday1756
bar3d6pMonday1850
bar3d7pMonday1955
bar3d8pMonday2053
bar3d9pMonday2154
bar3d10pMonday2252
bar3d11pMonday2350
bar3d12aSunday061
bar3d1aSunday160
bar3d2aSunday260
bar3d3aSunday360
bar3d4aSunday460
bar3d5aSunday560
bar3d6aSunday660
bar3d7aSunday760
bar3d8aSunday860
bar3d9aSunday960
bar3d10aSunday1061
bar3d11aSunday1160
bar3d12pSunday1262
bar3d1pSunday1361
bar3d2pSunday1463
bar3d3pSunday1564
bar3d4pSunday1660
bar3d5pSunday1760
bar3d6pSunday1860
bar3d7pSunday1960
bar3d8pSunday2061
bar3d9pSunday2162
bar3d10pSunday2262
bar3d11pSunday2366
Exact 3D bar values

168 cells across 1 series.

SeriesHourDayX indexY indexValueClass
bar3d12aSaturday005
bar3d1aSaturday101
bar3d2aSaturday200
bar3d3aSaturday300
bar3d4aSaturday400
bar3d5aSaturday500
bar3d6aSaturday600
bar3d7aSaturday700
bar3d8aSaturday800
bar3d9aSaturday900
bar3d10aSaturday1000
bar3d11aSaturday1102
bar3d12pSaturday1204
bar3d1pSaturday1301
bar3d2pSaturday1401
bar3d3pSaturday1503
bar3d4pSaturday1604
bar3d5pSaturday1706
bar3d6pSaturday1804
bar3d7pSaturday1904
bar3d8pSaturday2003
bar3d9pSaturday2103
bar3d10pSaturday2202
bar3d11pSaturday2305
bar3d12aFriday017
bar3d1aFriday110
bar3d2aFriday210
bar3d3aFriday310
bar3d4aFriday410
bar3d5aFriday510
bar3d6aFriday610
bar3d7aFriday710
bar3d8aFriday810
bar3d9aFriday910
bar3d10aFriday1015
bar3d11aFriday1112
bar3d12pFriday1212
bar3d1pFriday1316
bar3d2pFriday1419
bar3d3pFriday15111
bar3d4pFriday1616
bar3d5pFriday1717
bar3d6pFriday1818
bar3d7pFriday19112
bar3d8pFriday2015
bar3d9pFriday2115
bar3d10pFriday2217
bar3d11pFriday2312
bar3d12aThursday021
bar3d1aThursday121
bar3d2aThursday220
bar3d3aThursday320
bar3d4aThursday420
bar3d5aThursday520
bar3d6aThursday620
bar3d7aThursday720
bar3d8aThursday820
bar3d9aThursday920
bar3d10aThursday1023
bar3d11aThursday1122
bar3d12pThursday1221
bar3d1pThursday1329
bar3d2pThursday1428
bar3d3pThursday15210
bar3d4pThursday1626
bar3d5pThursday1725
bar3d6pThursday1825
bar3d7pThursday1925
bar3d8pThursday2027
bar3d9pThursday2124
bar3d10pThursday2222
bar3d11pThursday2324
bar3d12aWednesday037
bar3d1aWednesday133
bar3d2aWednesday230
bar3d3aWednesday330
bar3d4aWednesday430
bar3d5aWednesday530
bar3d6aWednesday630
bar3d7aWednesday730
bar3d8aWednesday831
bar3d9aWednesday930
bar3d10aWednesday1035
bar3d11aWednesday1134
bar3d12pWednesday1237
bar3d1pWednesday13314
bar3d2pWednesday14313
bar3d3pWednesday15312
bar3d4pWednesday1639
bar3d5pWednesday1735
bar3d6pWednesday1835
bar3d7pWednesday19310
bar3d8pWednesday2036
bar3d9pWednesday2134
bar3d10pWednesday2234
bar3d11pWednesday2331
bar3d12aTuesday041
bar3d1aTuesday143
bar3d2aTuesday240
bar3d3aTuesday340
bar3d4aTuesday440
bar3d5aTuesday541
bar3d6aTuesday640
bar3d7aTuesday740
bar3d8aTuesday840
bar3d9aTuesday942
bar3d10aTuesday1044
bar3d11aTuesday1144
bar3d12pTuesday1242
bar3d1pTuesday1344
bar3d2pTuesday1444
bar3d3pTuesday15414
bar3d4pTuesday16412
bar3d5pTuesday1741
bar3d6pTuesday1848
bar3d7pTuesday1945
bar3d8pTuesday2043
bar3d9pTuesday2147
bar3d10pTuesday2243
bar3d11pTuesday2340
bar3d12aMonday052
bar3d1aMonday151
bar3d2aMonday250
bar3d3aMonday353
bar3d4aMonday450
bar3d5aMonday550
bar3d6aMonday650
bar3d7aMonday750
bar3d8aMonday852
bar3d9aMonday950
bar3d10aMonday1054
bar3d11aMonday1151
bar3d12pMonday1255
bar3d1pMonday13510
bar3d2pMonday1455
bar3d3pMonday1557
bar3d4pMonday16511
bar3d5pMonday1756
bar3d6pMonday1850
bar3d7pMonday1955
bar3d8pMonday2053
bar3d9pMonday2154
bar3d10pMonday2252
bar3d11pMonday2350
bar3d12aSunday061
bar3d1aSunday160
bar3d2aSunday260
bar3d3aSunday360
bar3d4aSunday460
bar3d5aSunday560
bar3d6aSunday660
bar3d7aSunday760
bar3d8aSunday860
bar3d9aSunday960
bar3d10aSunday1061
bar3d11aSunday1160
bar3d12pSunday1262
bar3d1pSunday1361
bar3d2pSunday1463
bar3d3pSunday1564
bar3d4pSunday1660
bar3d5pSunday1760
bar3d6pSunday1860
bar3d7pSunday1960
bar3d8pSunday2061
bar3d9pSunday2162
bar3d10pSunday2262
bar3d11pSunday2366
Usage Example
@interactive.Bar3D(interactive.Bar3DConfig{
  Label: "Categorical volume by hour and day",
  Axes: interactive.Bar3DAxes{
    X: interactive.Bar3DCategoricalAxis{Name: "Hour", Categories: hours},
    Y: interactive.Bar3DCategoricalAxis{Name: "Day", Categories: days},
  },
  Series: []interactive.Bar3DSeries{{
    Name: "volume",
    Cells: []interactive.Bar3DCell{{XIndex: 0, YIndex: 0, Value: 5}},
    Options: interactive.Bar3DSeriesOptions{Shading: interactive.Bar3DShadingLambert},
  }},
  VisualRange: &interactive.Bar3DVisualRange{
    Min: 0, Max: 30, Calculable: interactive.Bool(true),
    Palette: interactive.Bar3DPaletteColdToWarm,
  },
  Grid: interactive.Bar3DGridSize{Width: 200, Depth: 80},
})

View treatments

Rotation and shading change presentation, not values. Use the exact-cell disclosure to compare values.

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

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