Multi-set Bar Chart

Grouped categorical bars compare the same series across parent categories.

Multi-set Bar Chart

Data Sources

6

Fields

17

Scales

2

Layers

8

Glyphs

34

line 6 / rect 15 / text 13

Q1 / Online: 42k revenueQ1 / Retail: 31k revenueQ1 / Wholesale: 24k revenueQ2 / Online: 54k revenueQ2 / Retail: 36k revenueQ2 / Wholesale: 29k revenueQ3 / Online: 62k revenueQ3 / Retail: 43k revenueQ3 / Wholesale: 34k revenueQ4 / Online: 71k revenueQ4 / Retail: 48k revenueQ4 / Wholesale: 39k revenue020406080Q1Q2Q3Q4OnlineRetailWholesaleChannel

Data Flow Diagram

0/326 nodes
0/593 edges
326 hidden

Select a glyph to highlight its complete source path.

Scope

Roles

source
transform
field
scale
layer
param
glyph

No matching flow nodes

Adjust search, scope, or role filters.

Available Data

6 tables
2 transforms

Raw grouped bar values

raw-grouped-bars
raw
7 columns
feeds grouped-bar-layout

ChartSpec

{
  "id": "catalogue.multi-set-bar",
  "data": [
    {
      "id": "raw-grouped-bars",
      "rows": 12
    },
    {
      "id": "ticks",
      "rows": 5
    },
    {
      "id": "grouped-bars",
      "rows": 12
    },
    {
      "id": "group-labels",
      "rows": 4
    },
    {
      "id": "__guide.series-legend",
      "rows": 3
    },
    {
      "id": "__guide.series-legend.title",
      "rows": 1
    }
  ],
  "transforms": [
    {
      "id": "grouped-bar-layout",
      "type": "layout",
      "input": "raw-grouped-bars",
      "output": "grouped-bars",
      "options": {
        "layoutKind": "groupedBand",
        "layout": "plot",
        "groupBy": [
          "category"
        ],
        "seriesBy": "series",
        "order": [
          "Online",
          "Retail",
          "Wholesale"
        ],
        "paddingInner": 0.28,
        "paddingOuter": 0.08,
        "innerPadding": 0.18
      }
    },
    {
      "id": "group-label-layout",
      "type": "layout",
      "input": "grouped-bars",
      "output": "group-labels",
      "options": {
        "layoutKind": "groupCenters",
        "groupBy": [
          "category"
        ]
      }
    }
  ],
  "legends": [
    {
      "id": "series-legend",
      "scale": "color",
      "kind": "color",
      "title": "Channel"
    }
  ],
  "fields": [
    "category",
    "series",
    "value",
    "x",
    "width",
    "groupCenter",
    "formatted",
    "tooltip",
    "label",
    "groupIndex",
    "seriesIndex",
    "y",
    "symbolX",
    "symbolY",
    "labelX",
    "labelY",
    "text"
  ],
  "scales": [
    {
      "id": "y",
      "type": "linear",
      "domain": {
        "source": "values",
        "values": [
          0,
          80
        ],
        "includeZero": true
      }
    },
    {
      "id": "color",
      "type": "ordinal",
      "domain": {
        "source": "field",
        "data": "grouped-bars",
        "field": "series"
      }
    }
  ],
  "layers": [
    {
      "id": "series-legend-swatches",
      "mark": "rect",
      "role": "guide"
    },
    {
      "id": "series-legend-labels",
      "mark": "text",
      "role": "guide"
    },
    {
      "id": "series-legend-title",
      "mark": "text",
      "role": "guide"
    },
    {
      "id": "y-grid",
      "mark": "line",
      "role": "guide"
    },
    {
      "id": "y-labels",
      "mark": "text",
      "role": "guide"
    },
    {
      "id": "x-axis",
      "mark": "line",
      "role": "guide"
    },
    {
      "id": "bars",
      "mark": "rect",
      "role": "data"
    },
    {
      "id": "group-labels",
      "mark": "text",
      "role": "guide"
    }
  ]
}

Resolved SceneGraph

{
  "scene": "catalogue.multi-set-bar.scene",
  "scales": [
    {
      "id": "y",
      "type": "linear",
      "domain": [
        0,
        80
      ],
      "range": [
        282,
        26
      ],
      "ticks": [
        0,
        20,
        40,
        60,
        80
      ]
    },
    {
      "id": "color",
      "type": "ordinal",
      "domain": [
        "Online",
        "Retail",
        "Wholesale"
      ],
      "range": [
        "var(--colors-red-9)",
        "var(--colors-orange-8)",
        "var(--colors-amber-8)",
        "var(--colors-amber-6)"
      ]
    }
  ],
  "layers": [
    {
      "id": "y-grid",
      "role": "guide",
      "zIndex": 0,
      "glyphs": 5
    },
    {
      "id": "x-axis",
      "role": "guide",
      "zIndex": 0,
      "glyphs": 1
    },
    {
      "id": "bars",
      "role": "data",
      "zIndex": 10,
      "glyphs": 12
    },
    {
      "id": "y-labels",
      "role": "guide",
      "zIndex": 20,
      "glyphs": 5
    },
    {
      "id": "group-labels",
      "role": "guide",
      "zIndex": 20,
      "glyphs": 4
    },
    {
      "id": "series-legend-swatches",
      "role": "guide",
      "zIndex": 30,
      "glyphs": 3
    },
    {
      "id": "series-legend-labels",
      "role": "guide",
      "zIndex": 31,
      "glyphs": 3
    },
    {
      "id": "series-legend-title",
      "role": "guide",
      "zIndex": 32,
      "glyphs": 1
    }
  ]
}

Glyph Data Tree

8 layers

Full parameter lineage for the active compiler surface.

y-grid

5

x-axis

1

bars

12

y-labels

5

group-labels

4

series-legend-swatches

3

series-legend-labels

3

series-legend-title

1

Glyph Inspector

none

Select a glyph in the chart to inspect resolved params and lineage.