Charts / CH-TAB-02
CH-TAB-02 . family TAB

HEATMAP TABLE

entities x metrics table, cells shaded per column and numbered. Needs: entity rows x numeric metric columns with different scales.

statuslookupcomparison

DL-01 AGRAW
System D trails on every metric of the readiness set PROGRESS % OPEN PUNCH TESTS LEFT System A 92 12 4 System B 88 18 6 System C 74 25 11 System D 41 63 28 System E 66 31 15 Source: sample dataset v1, 2026-07-12

Use when

  • entities compared across metrics with different scales (progress %, punch count, tests left)
  • the reader looks up their row but the pattern should jump out

Do not use when

  • one shared scale across all columns (use CH-COR-03's global mode)
  • status enums (CH-TAB-01)
  • more than 8 rows or 6 metric columns

See instead

Alternatives

  • CH-TAB-01 (status enums instead of numbers)
  • CH-COR-03 (two ordered dimensions)

Rules

  • per-column normalization; the spec's one job is making mixed scales comparable
  • intensity encodes magnitude, not judgment: the title says whether high is good or bad
  • values printed in every cell
  • rows in the reader's natural order, never sorted by health
  • single-hue ramp

Never do this

  • red-green judgment coloring on magnitude data
  • global normalization across mixed units
  • cells without printed values
  • sorting rows by intensity

QA before delivering

  • per-column normalization verified
  • every cell prints its value
  • rows in natural order
  • title names the standout row with a number
  • source line present bottom-left

Data shape

titlestring, action title naming the row that stands out
eyebrowstring caps, rendered only when the DL chrome asks for it
sourcestring, rendered bottom-left, always
columnsmetric names, caps
rowsarray of {label, values[] same length as columns}
Sample data (golden)
{
  "title": "System D trails on every metric of the readiness set",
  "eyebrow": "READINESS METRICS . WEEK 28",
  "source": "Source: sample dataset v1, 2026-07-12",
  "columns": [
    "PROGRESS %",
    "OPEN PUNCH",
    "TESTS LEFT"
  ],
  "rows": [
    {
      "label": "System A",
      "values": [
        92,
        12,
        4
      ]
    },
    {
      "label": "System B",
      "values": [
        88,
        18,
        6
      ]
    },
    {
      "label": "System C",
      "values": [
        74,
        25,
        11
      ]
    },
    {
      "label": "System D",
      "values": [
        41,
        63,
        28
      ]
    },
    {
      "label": "System E",
      "values": [
        66,
        31,
        15
      ]
    }
  ]
}